home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekikoh Dennoh Club 2
/
Gekikoh Dennoh Club Vol. 2 (Japan).7z
/
Gekikoh Dennoh Club Vol. 2 (Japan) (Track 01).bin
/
fsw
/
zm302
/
zm4.man
< prev
next >
Wrap
Text File
|
1997-01-21
|
135KB
|
3,934 lines
MEASURE 4
ZMSコマンド
ここではCOMMAND.X上から音楽プログラムを書くための書式、
つまりZMSファイル(OPMファイル)の文法について解説します。
4.1. ZMSファイルとは
ZMUSICシステムではエディタからMMLやコマンドを記述したファイルを
演奏することが出来る。これをZMUSICシステムでは「ZMSファイル」と
呼ぶ。X68k本体に付属している「OPMDRV.X」用の「OPMファイル」と
概念的には、ほとんど同じものである。
ZMSファイルはED.Xなどのスクリーンエディタを使って、ここで解説する
「ZMSコマンド」を記述することによって作成していく。ZMSコマンドの中でも
トラックに依存しないZMSコマンドを特に「共通コマンド」と呼んでいる。
4.2. ZMSコマンド
・省略しても良いパラメータはその旨を記述してあるがそれ以外は省略不可である。
・コマンドは大文字小文字どちらで記述しても構わないが、ここでは説明の都合上
コマンド名を大文字、パラメータを小文字で記述している。
・'*'を付けたものはパラメータを複数行に渡って記述出来る。それ以外の
コマンドではその1行で全てのパラメータを記述しなければならない。
・MUSICZ3.FNCの外部関数命令と対応するものはそのコマンド名を
挙げてある。
----------------------------------------
■初期化
----------------------------------------
●ZMUSICと音源の初期化
(I)
.INITIALIZE
Z-MUSICと音源の初期化を行う。通常はZMS先頭に書く。
(MEASURE3 zm_init()参照)
例
.INITIALIZE
----------------------------------------
■各種モード設定
----------------------------------------
●マスタークロックの設定
(Zn)
.MASTER_CLOCK n
・n:1-32767
全音符の絶対音長nを設定する。設定範囲は1≦n≦32767。
初期値は192。通常は設定する必要はない。
この値を大きくすればするほどシステムへの負荷は大きくなるが精細な音長表現が
可能になる。逆に小さくすればするほどシステムの負荷は軽くなるが短い音長を
使用した場合に誤差を生じることがある。
1920, 480, 192, 144, 128, 96といった数値を設定するのが一般的である。
たとえばn=1920として全音符の絶対音長を1920とした場合、4分音符は1920/4=480
で表される。
(MEASURE3 zm_set_master_clock()参照)
例
.MASTER_CLOCK 480
----------------------------------------
●ジャンプ系コマンドの制御
.JUMP md
・md:DISABLE,ENABLE
ジャンプ系MMLコマンドの生成を抑制する。
md=DISABLEとした場合はこの生成を抑止し、md=ENABLEとした場合はこの生成を行う。
抑制対象となるMMLコマンドは以下のジャンプ系MML。
[@] 全トラック追従ジャンプ
[!] 単一トラックジャンプ
[end] 演奏停止
[JUMP] 小節ジャンプ
例
.JUMP DISABLE
----------------------------------------
●ゲートタイム解像度の設定
.GATETIME_RESOLUTION n
・n:8,16,32,64,128
MML Qの最大値を設定する。設定値は8,16,32,64,128のいずれか。
初期設定時は8になっている。大きな値に設定すればより細かなゲートタイム
指定が行えるようになる。
例
.GATETIME_RESOLUTION 128
----------------------------------------
●音長指定方式の選択
.LENGTH_MODE md
・md:MML,STEP
音符の解釈方式を選択する。モードは「MMLモード」と「STEPモード」がある。
MMLモードは、いわゆる一般的なMML方式で、音符を
<音符[変化記号]> [音長] [発音長] [ベロシティ]
(<>は省略不可、[]は省略可のパラメータを表している)
の順で記述するもの。音長、および発音長は、全音符を1とした音楽的音長で
指定する。
一方、STEPモードでは、ステップ入力型DTMツールの音符入力方式を模倣したもので
<キー>[変化記号][オクターブ] [ステップタイム] [ゲートタイム] [ベロシティ]
のような書式で音符を記述する。ステップタイムはMMLモードの音長に相当し、
ゲートタイムはMMLモードの発音長に相当する。ただし、両方ともMMLモードでいう
ところの絶対音長で表記する点が異なる(STEPモードでは使用できる音長が絶対音長
のみとなる)。
たとえばオクターブ4の4分音符(絶対音長=48)のド#をベロシティ100、発音長を
符点8分音符相当(絶対音長=36)で鳴らしたい場合、MMLモードでは
c#4,8.,100
となるが、STEPモードでは
c#4,48,36,100
と記述する。
例
.LENGTH_MODE STEP
----------------------------------------
●相対ベロシティMMLの指定
.RELATIVE_VELOCITY md
・md:_~,~_,@U,U
初期状態では_ ~は相対音量のMMLであるが、これを相対ベロシティに効果を
変換することができる。本命令はこの変換についての設定を行うもの。
md=_~あるいはmd=~_とすると、相対ベロシティは _ ~で行うことができるように
なる。一方、md=@Uまたはmd=Uとすると相対ベロシティは従来どおり@U±n,U±nで
指定することになり、_~は相対音量の操作MMLとして機能する。
例
.RELATIVE_VELOCITY _~
.RELATIVE_VELOCITY @U
----------------------------------------
●FM音源チューニング
.FM_TUNE_SETUP {t1,t2,...,t128} *
・t1~t128:-32768~+32768
FM音源のチューニング設定を O-1C(C-1) から O9G(G9) まで128個のノート個別に
行う(概念的にはノート個別に設定するディチューンのようなもの)。
t1~t128はそれぞれノート番号0(C-1)から127(G9)までに対応する。
t1~t128の設定範囲は-32768~+32767で、64が半音の変化量に相当する。ディチューン
設定を行うMML @Kに与える数値と同次元。
t1~t128はt1から任意の個数まで設定したあと設定を打ち切ることができる。
その場合、省略されたものについては0が設定されたと見なされる。
例
.fm_tune_setup {0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
0,-5,3,10,-9,-1,-6,1,9,-10,9,-8
0,-5,3,10,-9,-1,-6,1}
(Cを主音とした平均律の例)
----------------------------------------
●ADPCM音源チューニング
.ADPCM_TUNE_SETUP {t1,t2,...,t128} *
.PCM_TUNE_SETUP {t1,t2,...,t128} *
・t1~t128:-32768~+32768
ADPCM(PCM)音源のチューニング設定を O-1C(C-1) から O9G(G9) まで128個の
ノート個別に行う。
t1~t128はそれぞれノート番号0(C-1)から127(G9)までに対応する。
t1~t128の設定範囲は-32768~+32767で、64が半音の変化量に相当する。ディチューン
設定を行うMML @Kに与える数値と同次元。
t1~t128はt1から任意の個数まで設定したあと設定を打ち切ることができる。
その場合、省略されたものについては0が設定されたと見なされる。
例
.pcm_tune_setup{-4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
-4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
-4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
-4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
-4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
-4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
-4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
-4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
-4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
-4,29,-1,-8,-33,-5,28,-3,-30,0,-6,-31
-4,29,-1,-8,-33,-5,28,-3}
(アラビア音階)
----------------------------------------
■拍子/調号
----------------------------------------
●拍子設定
.METER m/n
.m/n:1/1~255/255
拍子の設定を行う。ただし、この設定は演奏になんら影響を与えるものではなく
あくまで、演奏データに対する1つの付加情報的な意味あいしか持たない。
m/nは音楽的な拍子をそのまま分数表現で与えることができる。
例
.METER 3/4
(4分の3拍子を設定)
----------------------------------------
●調号設定
.KEY { n,type,m }
.KEY str
・n:0-7
・type:-,+,#
・m:MAJOR,MINOR
・str:文字列
調号の設定を行う。この設定は演奏になんら影響を与えるものではなくあくまで、
演奏データに対する1つの付加情報的な意味あいしか持たない。
nは調号中の変化記号の個数で設定範囲は0~7。
typeは調号に含まれる変化記号の個数を表し、設定項目は -,+,#のいずれか。
-は♭を表し、+または#は♯を表す。
mは長調か短調のいずれかを選択するパラメータで、設定項目はMAJOR,MINORの
いずれか。MAJORが長調、MINORが短調に対応する。
また、一般的な調は以下に示す英語表記の調名にて指定することもできる。
Cmajor,Gmajor,Dmajor,Amajor,Emajor,Bmajor,F+major,F#major,C+major,C#major
Fmajor,B-major,Bbmajor,E-major,Ebmajor,A-major,Abmajor,D-major,Dbmajor
G-major,Gbmajor,C-major,Cbmajor
Aminor,Eminor,Bminor,F+minor,F#minor,C+minor,C#minor,G+minor,G#minor
D+minor,D#minor,A+minor,A#minor,Dminor,Gminor,Cminor,Fminor,B-minor
Bbminor,E-minor,Ebminor,A-minor,Abminor
例
.KEY C#minor /嬰ハ短調
----------------------------------------
●演奏時間
.PERFORMANCE_TIME hh:mm:ss
hh:00~99
mm:00~59
ss:00~59
演奏時間を設定する。この設定は演奏になんら影響を与えるものではなくあくまで、
演奏データに対する1つの付加情報的な意味あいしか持たない。
hh,mm,ssはそれぞれ、時間、分、秒をあらわし、00:00:01~99:59:59までの
値を取る。
例
.PERFORMANCE_TIME 00:01:32
----------------------------------------
■トラック定義/チャンネルアサイン
----------------------------------------
●トラック定義/チャンネルアサイン
(A dev,trk,trkv,trkf,trks,trkm,cmnt)
.ASSIGN trk {dev,trkv,trkf,trks,trkm,cmnt} *
・trk:1~65535
・dev:FM1~FM8,MIDI1-1~MIDI3-16,ADPCM1~16
・trkv:0-128
・trkf:1-256
・trks:PLAY,RECORD
・trkm:NORMAL,RHYTHM
・cmnt:文字列
演奏で使用するトラックの定義を行う。
・trk:トラック番号
trkはトラック番号で1~65535与えることができる。
・dev:デバイス名
devはそのトラックをどの音源の演奏に用いるかを指定するもの。
FM1~FM8はFM音源チャンネル1~8,ADPCM1~ADPCM16はADPCMチャンネル1~16に
対応する。またADPCMはPCM1~PCM16としても指定できる。
デバイス名のFMやADPCMの後ろに'-'を添付しFM-1~FM-8,ADPCM-1~ADPCM-16のように
定することも可能。
MIDIはデバイス名MIDIの後ろにインターフェース番号,チャンネル番号を順番に
記述して指定する。インターフェース番号を省略することもできる。省略時は
後述のカレントMIDI-OUTとして選択されているインターフェースを指定したことに
なる。
・trkv:トラックボリューム
そのトラックの出力音量を指定する。設定範囲は0~128で、0が無音状態、128が
原音量に相当する。trkvは省略可能で省略時は128が設定される。
・trkf:トラック処理頻度
そのトラックの処理頻度を指定する。設定範囲は1~256。
たとえば2を指定するとそのトラックは2回に1回の割合でしか処理されず、
システムに対する負荷を軽くすることができる。ただし、短い音長を
使用した音符を演奏すると演奏に誤差を生じる場合がある。
trkfは省略可能で省略時は1が設定される。
・trks:トラック状態
そのトラックの使用目的を指定する。設定項目はPLAY,RECORDのいずれか。
ただし、現在指定できるのはPLAY(演奏)のみ。trksは省略可能で省略時はPLAYが
設定される。
・trkm:トラックモード
そのトラックの演奏処理形式を指定する。設定項目はNORMALまたはRHYTHM。
NORMALはノートオン/ノートオフを通常に処理する演奏モード、一方
RHYTHMに設定するとノートオフ処理を省略する演奏モードで処理される。
RHTHM指定時は丁度MMLで@R1を設定した時と同じになる
trkmは省略可能で省略時はNORMALが設定される。
・cmnt:コメント
そのトラックに与える注釈を添付することができる。
文字列は"~"で括る必要はなく、何文字でも可能。
(MEASURE3 zm_assign()参照)
例
.ASSIGN 1 FM1
(A MIDI10,10)
.ASSIGN 10 {MIDI2-1,128,1,PLAY,NORMAL,MELODY LINE}
(A PCM-1,1,128,2,PLAY,RHTHM,DRUM PART)
----------------------------------------
■演奏制御
----------------------------------------
●演奏開始
(Pn1,n2,…,ni)
.PLAY {n1,n2,…,ni} *
・n1~ni:1-65535
指定されたトラック(n1~ni)の演奏を開始する。
n1~niはトラック番号を表し、設定範囲は1≦ni≦65535。全パラメータを省略した
場合は全トラックの演奏を開始する。
(MEASURE3 zm_play()参照)
例
(P)
.PLAY
(P1,2,3)
.PLAY {
1,2,3,4
5,6,7,8
}
----------------------------------------
●演奏停止
(Sn1,n2,…,ni)
.STOP {n1,n2,…,ni} *
・n1~ni:1-65535
指定されたトラック(n1~ni)の演奏を停止する。
n1~niはトラック番号を表し、設定範囲は1≦ni≦65535。全パラメータを省略した
場合は全トラックの演奏を停止する。
(MEASURE3 zm_stop()参照)
例
(S)
.STOP
(S1,2,3)
.STOP {
1,2,3,4
5,6,7,8
}
----------------------------------------
●演奏再開
(Cn1,n2,…,ni)
.CONTINUE {n1,n2,…,ni} *
・n1~ni:1-65535
指定されたトラック(n1~ni)の演奏を再開する。
n1~niはトラック番号を表し、設定範囲は1≦ni≦65535。全パラメータを省略した
場合は全トラックの演奏を再開する。
(MEASURE3 zm_cont()参照)
例
(C)
.CONTINUE
(C1,2,3)
.CONTINUE {
1,2,3,4
5,6,7,8
}
----------------------------------------
●トラックマスク
.TRACK_MASK { trk1,mode1, trk2,mode2, ... trkX,modeX } *
・trkX:1-65535,ALL
・modeX:OFF,ON,REVERSE
演奏中の任意のトラックをリアルタイムにマスク/解除する。
trkXは操作対象とするトラック番号を表し、1~65535を設定する。また、演奏中
すべての演奏トラックを操作対象とする場合は文字列 ALL を指定する。
modeXはtrkXで指定したトラックの演奏状態をどう変更するかを指定する。
以下にmodeXの設定項目とその効果を示す。
modeX 効果
OFF そのトラックをマスクする
ON そのトラックのマスクを解除する
REVERSE そのトラックのマスクを反転する
(MEASURE3 zm_mask_tracks()参照)
例
.TRACK_MASK {1,ON
2,OFF
3,REVERSE
}
----------------------------------------
■フェーダー制御
----------------------------------------
●マスターフェーダー
.MASTER_FADER {dev1,spd1,st1,ed1,dev2,spd2,st2,ed2,...,devX,spdX,stX,edX} *
・devX:ALL,FM,ADPCM,MIDI1,MIDI2,MIDI3
・spdX:0-255
・stX:0-128
・edX:0-128
マスターフェーダーはZMUSICの演奏の最終的な出力制御を司るフェーダーで、
後述のトラック単位のトラックフェーダーとは独立して制御が行える。
本命令は、デバイスdevXのマスターフェーダーを速度spdXでレベルstXからedXまで
移動させるもの。
devXは操作対象デバイスで、ALL,FM,ADPCM,MIDI1,MIDI2,MIDI3のいずれかを指定する。
ALLでは全デバイスのマスターフェーダーを操作対象とする。
spdXはフェーダーの移動速度で数値が大きいほど高速に移動する。また、spdX=0では
「静止」の指定となる。
stXはフェーダー移動の開始レベルに相当し、0が無音、128が最大(原音)レベルに
対応する。
edXはフェーダー移動の終了レベルに相当し、0が無音、128が最大(原音)レベルに
対応する。
(MEASURE3 zm_master_fader()参照)
例
.MASTER_FADER {ALL,10,128,0}
.MASTER_FADER {
MIDI1,10,128,0
MIDI2,10,0,128
MIDI3,0,64,64
}
----------------------------------------
●トラックフェーダー
.TRACK_FADER {trk1,spd1,st1,ed1,trk2,spd2,st2,ed2,...,trkX,spdX,stX,edX} *
・trkX:1-65535
・spdX:0-255
・stX:0-128
・edX:0-128
トラックフェーダーはトラック単位にその演奏出力制御が行えるフェーダーである。
本命令は、トラックtrkXのトラックフェーダーを速度spdXでレベルstXからedXまで
移動させるもの。
trkXは操作対象トラック番号で、設定範囲は1-65535。
spdXはフェーダーの移動速度で数値が大きいほど高速に移動する。また、spdX=0では
「静止」の指定となる。
stXはフェーダー移動の開始レベルに相当し、0が無音、128が最大(原音)レベルに
対応する。
edXはフェーダー移動の終了レベルに相当し、0が無音、128が最大(原音)レベルに
対応する。
(MEASURE3 zm_set_ch_output_level(),zm_set_tr_output_level()参照)
例
.TRACK_FADER {
1,10,128,0
2,10,0,128
3,0,64,64
}
----------------------------------------
■テンポ
----------------------------------------
●テンポ
(Ot)
.TEMPO t
・t:1-32767
テンポをtに設定する。1分間にt個の4分音符を演奏するようになる。
tの設定範囲は1-32767。ただし、テンポ制御タイマーにタイマーAを使用した場合の
tの設定範囲は77-32767となる。
(MEASURE3 zm_tempo()参照)
例
(o120)
.TEMPO 150
----------------------------------------
■MMLセット
----------------------------------------
●MMLセット
(Tn1,n2,…,n8)
.TRACK n1,n2,…,n8 { MML }
・n1~n8:1-65535
MMLをトラックn1~n8へセットする。設定範囲は1≦n1~n8≦65535。
トラック番号を複数指定した場合は同一MMLを同時に複数のトラックにセットする。
また、n2以降は省略可能。
MMLをセットするトラックはあらかじめ.ASSIGN命令で宣言しておかなければならない。
なお、MMLについてはMEASURE 5を参照のこと。
例
.TRACK 1,2,3 {
c4 d4 e4
}
----------------------------------------
●パターントラック
.PATTERN name,trkf { MML } *
・name:文字列
・trkf:1-256
パターントラックを定義する。パターントラックとは曲中頻繁に使うリズムパターン
などを固有の名前を与えて定義し、曲中任意に呼び出すことができる演奏トラックの
こと。具体的には、本命令でパターントラックを定義し、MML
[PATTERN]
[EMBED]
で曲中で呼び出す。
nameはパターン名を表し、これは251文字以内の英数字文字列で指定する。
trkfは.ASSIGN命令のtrkfに相当するもので、トラック処理頻度を
表す。設定範囲は1-256で、省略可能。省略時は1が設定される。
MMLについてはMEASURE 5を参照のこと。
例
.PATTERN FUNK,1 {
o2 @u99 c4 @u120 d4 @u99c8 c8 @u127 d4
}
----------------------------------------
■FM音源の音色設定
----------------------------------------
●FM音源の音色設定
(Vn,0,v1,v2,…,v55) *
・n:1~32768
・v1~v55:下記参照
FM音源の音色設定を行う。
nは定義する音色番号で1≦n≦32768。
v1~v55の音色パラメータについては下記参照。
音色フォーマット(OPMDRV.X互換方式)
v1:AF(フィードバック/アルゴリズム) (0~63)
v2:OM(スロットマスク) (0~15)
v3:WF(ウェーヴフォーム) (0~3)
v4:SYC(シンクロ) (0,1)
v5:SPD(スピード) (0~255)
v6:PMD (0~127)
v7:AMD (0~127)
v8:PMS (0~7)
v9:AMS (0~3)
v10:PAN (0~3)
v11:DUMMY
v12:OP1, v13:OP2, v14:OP3, v15:OP4 AR(アタックレート) (0~31)
v16:OP1, v17:OP2, v18:OP3, v19:OP4 1DR(1stディケイレート) (0~31)
v20:OP1, v21:OP2, v22:OP3, v23:OP4 2DR(2ndディケイレート) (0~31)
v24:OP1, v25:OP2, v26:OP3, v27:OP4 RR(リリースレート) (0~15)
v28:OP1, v29:OP2, v30:OP3, v31:OP4 1DL(1stディケイレベル) (0~15)
v32:OP1, v33:OP2, v34:OP3, v35:OP4 TL(トータルレベル) (0~127)
v36:OP1, v37:OP2, v38:OP3, v39:OP4 KS(キースケーリング) (0~3)
v40:OP1, v41:OP2, v42:OP3, v43:OP4 MUL(フェーズマルチプライ) (0~15)
v44:OP1, v45:OP2, v46:OP3, v47:OP4 DT1(ディチューン1) (0~7)
v48:OP1, v49:OP2, v50:OP3, v51:OP4 DT2(ディチューン2) (0~3)
v52:OP1, v53:OP2, v54:OP3, v55:OP4 AME(AMSイネーブル) (0,1)
(MEASURE3 zm_vset()参照)
例
(v1,0
/ AF OM WF SY SP PMD AMD PMS AMS PAN
60, 15, 2, 0,210, 40, 0, 2, 0, 3, 0
/ AR DR SR RR SL OL KS ML DT1 DT2 AME
31, 5, 0, 12, 2, 30, 1, 2, 7, 0, 0
31, 5, 0, 12, 8, 6, 1, 2, 5, 0, 0
31, 5, 0, 12, 8, 28, 1, 2, 3, 0, 0
31, 5, 0, 12, 8, 6, 1, 2, 5, 0, 0)
----------------------------------------
●FM音源の音色設定
(@n,v1,v2,…,v55) *
.FM_TIMBRE n,cmnt {v1,v2,…,v55} *
.FM_VSET n,cmnt {v1,v2,…,v55} *
・n:1-32768
・cmnt:コメント
・v1~v55:下記参照
AL/FB分離形式によるFM音源の音色設定を行う。
nは定義する音色番号で1≦n≦32768。
cmntには音色に関するコメント文字列を与えることが出来る。ただし省略可能。
v1~v55の音色パラメータについては下記参照。
音色フォーマット(AL/FB分離方式)
v1:OP1, v2:OP2, v3:OP3, v4:OP4 AR(アタックレート) (0~31)
v5:OP1, v6:OP2, v7:OP3, v8:OP4 1DR(1stディケイレート) (0~31)
v9:OP1,v10:OP2,v11:OP3,v12:OP4 2DR(2ndディケイレート) (0~31)
v13:OP1,v14:OP2,v15:OP3,v16:OP4 RR(リリースレート) (0~15)
v17:OP1, v18:OP2, v19:OP3, v20:OP4 1DL(1stディケイレベル) (0~15)
v21:OP1, v22:OP2, v23:OP3, v24:OP4 TL(トータルレベル) (0~127)
v25:OP1, v26:OP2, v27:OP3, v28:OP4 KS(キースケーリング) (0~3)
v29:OP1, v30:OP2, v31:OP3, v32:OP4 MUL(フェーズマルチプライ) (0~15)
v33:OP1, v34:OP2, v35:OP3, v36:OP4 DT1(ディチューン1) (0~7)
v37:OP1, v38:OP2, v39:OP3, v40:OP4 DT2(ディチューン2) (0~3)
v41:OP1, v42:OP2, v43:OP3, v44:OP4 AME(AMSイネーブル) (0,1)
v45:AL(アルゴリズム) (0~7)
v46:FB(フィードバック) (0~7)
v47:OM(スロットマスク) (0~15)
v48:PAN (0~3)
v49:WF(ウェーヴフォーム) (0~3)
v50:SYC(シンクロ) (0,1)
v51:SPD(スピード) (0~255)
v52:PMD (0~127)
v53:AMD (0~127)
v54:PMS (0~7)
v55:AMS (0~3)
(MEASURE3 zm_vset()参照)
例
.FM_TIMBRE 1,SQUARE WAVE {
/ AR DR SR RR SL OL KS ML DT1 DT2 AME
31, 0, 2, 0, 0, 21, 0, 1, 0, 0, 0
31, 0, 0, 8, 0, 3, 0, 3, 0, 0, 0
31, 0, 0, 8, 0, 3, 0, 1, 0, 0, 0
31, 0, 0, 8, 0, 3, 0, 1, 0, 0, 0
/ AL FB OM PAN WF SY SP PMD AMD PMS AMS
5, 7, 15, 3 0, 0, 0, 0, 0, 0, 0}
----------------------------------------
■ADPCM/PCMデータ加工/登録
----------------------------------------
●PCM音色の登録
.8BITPCM_TIMBRE b,t,k,str { filename,PPC } *
.16BITPCM_TIMBRE b,t,k,str { filename,PPC } *
.ADPCM_TIMBRE b,t,k,str { filename,PPC } *
・b:0-255
・t:1-128
・k:O-1C~O9G または C-1~G9
・str:文字列
・filename:文字列
・PPC:後述
filenameで指定されたPCMデータを音色(TIMBRE)として登録する。
.8BITPCM_TIMBREは8BIT PCM、.16BITPCM_TIMBREは16BIT PCM,.ADPCM_TIMBREは
ADPCMをそれぞれ登録する。
b,tはそれぞれ登録先バンク番号,登録先音色番号をあらわし、設定範囲は
0≦b≦255,1≦t≦128。
kは登録するPCMデータの原音高(オリジナルキー)を設定するもので設定範囲は
O-1C~O9G または C-1~G9。ZMUSICがPCMの音程を変化させる場合は、このkの設定を
もとに行うことになる。
strはコメントで登録する音色に付いての簡単な注釈文などを添えることが出来る
(省略可能)。
filenameを読み込むファイルの名前でなく
.TIMBRE b,t
.TONE b,n
といった書式で指定すれば、以前に
「.TIMBRE b,t」ならば.8BITPCM_TIMBRE,.16BITPCM_TIMBRE,.ADPCM_TIMBRE
「.TONE b,t」ならば.8BITPCM_TONE,.16BITPCM_TONE,.ADPCM_TONE
を用いて登録した音色/トーンのコピーを用いて加工登録することもできる。
「.TIMBRE b,t」書式では、bがバンク番号(0-255)、tが音色番号(1-128)を、
「.TONE b,n」書式では、bがバンク番号(1-256)、nがトーン番号(0-127)を表す。
nはO-1C~O9G または C-1~G9といった音階MMLで指定することもできる。
PPC(PCM PROCESSING COMMAND)はfilenameで指定されたPCMデータを登録する前に
加工処理を行う命令で以下のようなものがある。各PPCは指定された順序に従い
加工を実行していく。PPCは省略、あるいは、同種PPCの複数設定も可能。
(MEASURE6参照)
例
.16BITPCM_TIMBRE 0,10,O2C,BASS {SLAP.P16,.VOLUME 120}
.ADPCM_TIMBRE 1,10,O2C,BASS2 {.TIMBRE 0,10,.BEND 15600,22000}
本命令でバンクb、音色番号tで登録したPCMは[PCM_MODE TIMBRE]にしたトラックで
MML Iでバンク番号b、MML @で音色番号を指定すると使用することが出来る。
例
.ADPCM_TIMBRE 1,10,O2C,BASS2 {.TIMBRE 0,10,.BEND 15600,22000}
で登録した音色は
(t1)[PCM_MODE TIMBRE] i0,1 @10
で、またはMML @のみで
(t1)[PCM_MODE TIMBRE] @1:10
と指定することも出来る。
----------------------------------------
●PCMトーンの登録
.8BITPCM_TONE t,k,str { filename,PPC } *
.16BITPCM_TONE t,k,str { filename,PPC } *
.ADPCM_TONE t,k,str { filename,PPC } *
・t:1-256
・k:0-127 あるいは O-1C~O9G または C-1~G9
・str:文字列
・filename:文字列
・PPC:後述
filenameで指定されたPCMデータをトーン(TONE)として登録する。
.8BITPCM_TONEは8BIT PCM、.16BITPCM_TONEは16BIT PCM,.ADPCM_TONEはADPCMを
それぞれ登録する。
tは登録先トーンセット番号をあらわし、設定範囲は1≦t≦256。
kは登録するノート番号を指し示すもので設定範囲は0-127あるいは、音階MMLを
用いてO-1C~O9G または C-1~G9と指定することも出来る。
strはコメントで登録する音色に付いての簡単な注釈文などを添えることが出来る
(省略可能)。
filenameを読み込むファイルの名前でなく
.TIMBRE b,t
.TONE b,n
といった書式で指定すれば、以前に
「.TIMBRE b,t」ならば.8BITPCM_TIMBRE,.16BITPCM_TIMBRE,.ADPCM_TIMBRE
「.TONE b,t」ならば.8BITPCM_TONE,.16BITPCM_TONE,.ADPCM_TONE
を用いて登録した音色/トーンのコピーを用いて加工登録することもできる。
「.TIMBRE b,t」書式では、bがバンク番号(0-255)、tが音色番号(1-128)を、
「.TONE b,n」書式では、bがバンク番号(1-256)、nがトーン番号(0-127)を表す。
nはO-1C~O9G または C-1~G9といった音階MMLで指定することもできる。
PPC(PCM PROCESSING COMMAND)はfilenameで指定されたPCMデータを登録する前に
加工処理を行う命令で以下のようなものがある。各PPCは指定された順序に従い
加工を実行していく。PPCは省略、あるいは、同種PPCの複数設定も可能。
(MEASURE6参照)
例
.16BITPCM_TONE 0,36,BASS {BD.P16,.VOLUME 120}
.ADPCM_TONE 10,o2d,SNARE {.TIMBRE 0,10,.BEND 15600,22000}
本命令でトーンセットt、ノート番号kに登録したPCMは[PCM_TIMBRE TONE]にした
トラックで(デフォルト状態)MML @でトーンセット番号を指定し、希望のノートを
キーオンさせることで鳴らすことが出来る。
例
.ADPCM_TONE 10,o2d,SNARE {.TIMBRE 0,10,.BEND 15600,22000}
で登録した音色は
(t1)[PCM_MODE TONE] @10 o2 d
として演奏させることが出来る。
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ PCM PROCESSING COMMAND ┃
┃ ┃
┃----------------------------------------------------------------------------┃
┃●音程の変更(その1) ┃
┃.PITCH k,o,s ┃
┃・k:O-1C~O9G,C-1~G9,-144~+144 ┃
┃・o:0-4294967295 ┃
┃・s:0-4294967295 ┃
┃ ┃
┃ 音高を半音単位で変更する ┃
┃ ┃
┃・k:変更先音高 ┃
┃ kで音程変更先の音高を音階MML(O-1C~O9G,C-1~G9)で指定する。 ┃
┃ 相対数値(-144~+144)で指定した場合は原音高からの半音単位の指定となる。 ┃
┃ ┃
┃・o:変更開始位置 ┃
┃ 音高変更をデータ先頭から何カウント目から行うかを設定するオフセット値。 ┃
┃ 設定範囲は0-4294967295。省略時は0が採択される。 ┃
┃ ┃
┃・s:変更サイズ ┃
┃ 音高変更を何カウント分行うかを指定する。設定範囲は0-4294967295。 ┃
┃ 省略時は、o以降すべてを変更範囲とする。 ┃
┃ ┃
┃例 ┃
┃ ┃
┃ .PITCH O4A,0,1200 ┃
┃ .PITCH -8,80,1200 ┃
┃----------------------------------------------------------------------------┃
┃●音程の変更(その2) ┃
┃.TUNE t1,t2,o,s ┃
┃・t1:1-65535 ┃
┃・t2:1-65535 ┃
┃・o:0-4294967295 ┃
┃・s:0-4294967295 ┃
┃ ┃
┃ 音高の変更をサンプリング周波数比で指定する。 ┃
┃ ┃
┃・t1:変更元サンプリング周波数 ┃
┃・t2:変更先サンプリング周波数 ┃
┃ sが変換元のサンプリング周波数、dが変更目的のサンプリング周波数。値の単位は┃
┃ [Hz]でs,d共に設定範囲は1~65535。 ┃
┃ ┃
┃・o:変更開始位置 ┃
┃ 音高変更をデータ先頭から何カウント目から行うかを設定するオフセット値。 ┃
┃ 設定範囲は0-4294967295。省略時は0が採択される。 ┃
┃ ┃
┃・s:変更サイズ ┃
┃ 音高変更を何カウント分行うかを指定する。設定範囲は0-4294967295。 ┃
┃ 省略時は、o以降すべてを変更範囲とする。 ┃
┃ ┃
┃例 ┃
┃ ┃
┃ .TUNE 15600,22000,0,1200 ┃
┃----------------------------------------------------------------------------┃
┃●ポルタメント ┃
┃.PORTAMENT k,o,s ┃
┃・k:O-1C~O9G,C-1~G9,-144~+144 ┃
┃・o:0-4294967295 ┃
┃・s:0-4294967295 ┃
┃ ┃
┃ ポルタメントを行う。 ┃
┃ ┃
┃・k:ポルタメント先音高 ┃
┃ kでポルタメント先の音高を音階MML(O-1C~O9G,C-1~G9)で指定する。 ┃
┃ 相対数値(-144~+144)で指定した場合は原音高からの半音単位の指定となる。 ┃
┃ ┃
┃・o:ポルタメント開始位置 ┃
┃ ポルタメントをデータ先頭から何カウント目から行うかを設定するオフセット値。┃
┃ 設定範囲は0-4294967295。省略時は0が採択される。 ┃
┃ ┃
┃・s:ポルタメント範囲 ┃
┃ ポルタメントを何カウント内で行うかを指定する。設定範囲は0-4294967295。 ┃
┃ 省略時は、o以降すべてをポルタメント範囲とする。 ┃
┃ ┃
┃例 ┃
┃ ┃
┃ .PORTAMENT O4A,0,1200 ┃
┃ .PORTAMENT -8,80,1200 ┃
┃----------------------------------------------------------------------------┃
┃●ピッチベンド ┃
┃.BEND t1,t2,o,s ┃
┃・t1:1-65535 ┃
┃・t2:1-65535 ┃
┃・o:0-4294967295 ┃
┃・s:0-4294967295 ┃
┃ ┃
┃ ポルタメントをサンプリング周波数次元で実行する。 ┃
┃ ┃
┃・t1:ピッチベンド元サンプリング周波数 ┃
┃・t2:ピッチベンド先サンプリング周波数 ┃
┃ sがピッチベンド元のサンプリング周波数、dがピッチベンド先のサンプリング ┃
┃ 周波数。値の単位は[Hz]でs,d共に設定範囲は1~65535。 ┃
┃ ┃
┃・o:ピッチベンド開始位置 ┃
┃ ピッチベンドをデータ先頭から何カウント目から行うかを設定するオフセット値。┃
┃ 設定範囲は0-4294967295。省略時は0が採択される。 ┃
┃ ┃
┃・s:ピッチベンド範囲 ┃
┃ ピッチベンドを何カウント内で行うかを指定する。設定範囲は0-4294967295。 ┃
┃ 省略時は、o以降すべてをピッチベンド範囲とする。 ┃
┃ ┃
┃例 ┃
┃ ┃
┃ .BEND O4A,0,1200 ┃
┃ .BEND -8,80,1200 ┃
┃----------------------------------------------------------------------------┃
┃●音量の変更 ┃
┃.VOLUME v,o,s ┃
┃・v:0-65535 ┃
┃・o:0-4294967295 ┃
┃・s:0-4294967295 ┃
┃ ┃
┃ 原音量を100とした音量変更を行う。 ┃
┃ ┃
┃・v:変更先音量 ┃
┃ 原音量を100とし、変更目的の音量vを0-65535の範囲で指定する。 ┃
┃ 0が無音、65535が最大音量に相当する。 ┃
┃ ┃
┃・o:変更開始位置 ┃
┃ 音量変更をデータ先頭から何カウント目から行うかを設定するオフセット値。 ┃
┃ 設定範囲は0-4294967295。省略時は0が採択される。 ┃
┃ ┃
┃・s:変更サイズ ┃
┃ 音量変更を何カウント分行うかを指定する。設定範囲は0-4294967295。 ┃
┃ 省略時は、o以降すべてを変更範囲とする。 ┃
┃ ┃
┃例 ┃
┃ ┃
┃ .VOLUME 150,480,1800 ┃
┃----------------------------------------------------------------------------┃
┃●反転指定 ┃
┃.REVERSE o,s ┃
┃・o:0-4294967295 ┃
┃・s:0-4294967295 ┃
┃ ┃
┃ 逆転を行う。 ┃
┃ ┃
┃・o:逆転開始位置 ┃
┃ 逆転処理をデータ先頭から何カウント目から行うかを設定するオフセット値。 ┃
┃ 設定範囲は0-4294967295。省略時は0が採択される。 ┃
┃ ┃
┃・s:変更サイズ ┃
┃ 逆転処理を何カウント分行うかを指定する。設定範囲は0-4294967295。 ┃
┃ 省略時は、o以降すべてを逆転処理する。 ┃
┃ ┃
┃例 ┃
┃ ┃
┃ .REVERSE 0,1800 ┃
┃----------------------------------------------------------------------------┃
┃●フェードイン/フェードアウト ┃
┃.FADE v1,v2,o,s ┃
┃・v1:0-65535 ┃
┃・v2:0-65535 ┃
┃・o:0-4294967295 ┃
┃・s:0-4294967295 ┃
┃ ┃
┃ フェードイン/フェードアウトを行う。 ┃
┃ ┃
┃・v1:変更元音量 ┃
┃・v2:変更先音量 ┃
┃ 原音量を100とし変化元音量v1から目的音量v2までの音量変化を線形に行う。 ┃
┃ v1,v2共に設定範囲は0-65535。0が無音、65535が最大音量に相当する。 ┃
┃ ┃
┃・o:音量操作開始位置 ┃
┃ 音量操作をデータ先頭から何カウント目から行うかを設定するオフセット値。 ┃
┃ 設定範囲は0-4294967295。省略時は0が採択される。 ┃
┃ ┃
┃・s:音量操作範囲 ┃
┃ 音量操作を何カウント内で行うかを指定する。設定範囲は0-4294967295。 ┃
┃ 省略時は、o以降すべてをフェード操作範囲とする。 ┃
┃ ┃
┃例 ┃
┃ ┃
┃ .FADE 100,50,480,1800 ┃
┃ (オフセットカウント480から1800カウント内で音量100から50へ変化させる。) ┃
┃----------------------------------------------------------------------------┃
┃●ディストーション ┃
┃.DISTORTION v,c,o,s ┃
┃・v:0-65535 ┃
┃・c:0-65535 ┃
┃・o:0-4294967295 ┃
┃・s:0-4294967295 ┃
┃ ┃
┃ ディストーション(歪み)効果を与える。 ┃
┃ ┃
┃・v:増幅倍率 ┃
┃ 原音量を100とし音量をv倍に増幅する。設定範囲は0-65535。0が無音、65535が ┃
┃ 最大増幅に相当する。 ┃
┃ ┃
┃・c:切り捨て音量レベル ┃
┃ v倍して出来た波形に対しのピークレベルc内に音量を丸め込む。 ┃
┃ 設定範囲は0-65535。 ┃
┃ ┃
┃・o:ディストーション操作開始位置 ┃
┃ ディストーション操作をデータ先頭から何カウント目から行うかを設定する ┃
┃ オフセット値。設定範囲は0-4294967295。省略時は0が採択される。 ┃
┃ ┃
┃・s:ディストーション効果適用範囲 ┃
┃ ディストーション操作を何カウント行うかを指定する。設定範囲は0-4294967295。┃
┃ 省略時は、o以降すべてをディストーション操作範囲とする。 ┃
┃ ┃
┃例 ┃
┃ ┃
┃ .DISTORTION 500,100,480,1800 ┃
┃ (オフセットカウント480から1800カウント内でディストーション処理を行う。 ┃
┃ 音量を500%に増幅したものを音量100に丸め込む。) ┃
┃----------------------------------------------------------------------------┃
┃●スムージング ┃
┃.SMOOTH r,o,s ┃
┃・r:1-65535 ┃
┃・o:0-4294967295 ┃
┃・s:0-4294967295 ┃
┃ ┃
┃ スムージング(平滑化)を行う。処理後の音はやや曇った感じになる。 ┃
┃ ┃
┃・r:平滑化処理回数 ┃
┃ 平滑化を連続何回行うかを設定する。設定範囲は1-65535。 ┃
┃ ┃
┃・o:スムージング操作開始位置 ┃
┃ スムージング操作をデータ先頭から何カウント目から行うかを設定する ┃
┃ オフセット値。設定範囲は0-4294967295。省略時は0が採択される。 ┃
┃ ┃
┃・s:スムージング効果適用範囲 ┃
┃ スムージング操作を何カウント行うかを指定する。設定範囲は0-4294967295。 ┃
┃ 省略時は、o以降すべてをスムージング操作範囲とする。 ┃
┃ ┃
┃例 ┃
┃ ┃
┃ .SMOOTH 10,480,1800 ┃
┃ (オフセットカウント480から1800カウント内でスムージング処理を10回行う) ┃
┃----------------------------------------------------------------------------┃
┃●切り出し ┃
┃.TRUNCATE o,s ┃
┃・o:0-4294967295 ┃
┃・s:0-4294967295 ┃
┃ ┃
┃ 指定した領域を切り出す。 ┃
┃ ┃
┃・o:切り出し開始位置 ┃
┃ 切り出し操作をデータ先頭から何カウント目から行うかを設定するオフセット値。┃
┃ 設定範囲は0-4294967295。省略時は0が採択される。 ┃
┃ ┃
┃・s:切り出しサイズ ┃
┃ 切り出しサイズを何カウントにするかを指定する。設定範囲は0-4294967295。 ┃
┃ 省略時は、o以降すべてを切り出す指定になる。 ┃
┃ ┃
┃例 ┃
┃ ┃
┃ .TRUNCATE 1200 (オフセットカウント1200以降を切り出す) ┃
┃ .TRUNCATE ,1200 (先頭から1200カウント切り出す) ┃
┃----------------------------------------------------------------------------┃
┃●削除 ┃
┃.DELETE o,s ┃
┃・o:0-4294967295 ┃
┃・s:0-4294967295 ┃
┃ ┃
┃ 指定した領域を削除する。 ┃
┃ ┃
┃・o:削除開始位置 ┃
┃ 削除をデータ先頭から何カウント目から行うかを設定するオフセット値。 ┃
┃ 設定範囲は0-4294967295。省略時は0が採択される。 ┃
┃ ┃
┃・s:削除サイズ ┃
┃ 削除を何カウント行うかを指定する。設定範囲は0-4294967295。 ┃
┃ 省略時は、o以降すべてを削除する指定になる。 ┃
┃ ┃
┃例 ┃
┃ ┃
┃ .DELETE 1200 (オフセットカウント1200以降を削除する) ┃
┃ .DELETE ,1200 (先頭から1200カウント削除する) ┃
┃----------------------------------------------------------------------------┃
┃●合成 ┃
┃.MIX filename,o ┃
┃(.MIX filename,o,PPC) ┃
┃・filename:文字列 ┃
┃・o:-2147483648~2147483647 ┃
┃ ┃
┃ filenameで表されるADPCM/PCMデータを合成する ┃
┃ ┃
┃・filename:合成データ名 ┃
┃ 合成するADPCM/PCMデータのファイル名を設定する。拡張子の省略は不可。 ┃
┃ また、filenameを合成するファイルの名前でなく、 ┃
┃ ┃
┃ .TIMBRE b,t ┃
┃ .TONE b,t ┃
┃ ┃
┃ といった書式で指定すれば、以前に、PCMデータの登録コマンドで登録した ┃
┃ 音色/トーンのコピーを合成することもできる。 ┃
┃ 「.TIMBRE b,t」書式では、bがバンク番号(0-255)、tが音色番号(1-128)を、 ┃
┃ 「.TONE b,n」書式では、bがバンク番号(0-255)、nがトーン番号(0-127)を表す。 ┃
┃ nはO-1C~O9G または C-1~G9といった音階MMLで指定することもできる。 ┃
┃ ┃
┃・o:合成開始位置 ┃
┃ 合成操作を被合成データの先頭から何カウント目から行うかを設定する ┃
┃ オフセット値。設定範囲は-2147483648~2147483647。負値を設定した場合は ┃
┃ その絶対値カウント分、合成データの方を先行させて合成する。 ┃
┃ 省略時は0が採択される。 ┃
┃ ┃
┃例 ┃
┃ ┃
┃ .MIX CYMBAL.P16,-1200 ┃
┃ .MIX .TONE 4,O3D,4800 ┃
┃ ┃
┃ なお、PPC「.MIX」はその他のPPCと違い(...)で括れば.MIX自体もPPCを局所的に ┃
┃設定することができる。 ┃
┃ ┃
┃例 ┃
┃ ┃
┃ (.MIX .TIMBRE 10,10,1000,.VOLUME 150,.PITCH -8) ┃
┃ ┃
┃ (後続の「V120」「P-8」は合成するデータに対して有効となる。 ┃
┃ つまりこの例では、TIMBRE 10,10の音量を150%化、8半音分の音程を下げた ┃
┃ ものを被合成データ先頭から1000カウント後の位置から合成する設定となる。)┃
┃----------------------------------------------------------------------------┃
┃●接合 ┃
┃.CONNECT filename,o ┃
┃(.CONNECT filename,o,PPC) ┃
┃・filename:文字列 ┃
┃・o:0-4294967295 ┃
┃ ┃
┃ filenameで表されるADPCM/PCMデータを接合する。 ┃
┃ ┃
┃・filename:接合データ名称 ┃
┃ 接合するADPCM/PCMデータのファイル名を設定する。拡張子の省略は不可。 ┃
┃ また、filenameを接合するファイルの名前でなく、 ┃
┃ ┃
┃ .TIMBRE b,t ┃
┃ .TONE b,t ┃
┃ ┃
┃ といった書式で指定すれば、以前に、PCMデータの登録コマンドで登録した ┃
┃ 音色/トーンのコピーを接合することもできる。 ┃
┃ 「.TIMBRE b,t」書式では、bがバンク番号(0-255)、tが音色番号(1-128)を、 ┃
┃ 「.TONE b,n」書式では、bがバンク番号(0-255)、nがトーン番号(0-127)を表す。 ┃
┃ nはO-1C~O9G または C-1~G9といった音階MMLで指定することもできる。 ┃
┃ ┃
┃・o:接合開始位置 ┃
┃ 接合操作を被接合データの先頭から何カウント目から行うかを設定する ┃
┃ オフセット値。設定範囲は0-4294967295。 ┃
┃ 省略時は被接合データの再後尾位置が採択される。 ┃
┃ PPC「.LOOP」が未設定の場合は接続したデータを無限ループさせるような設定を ┃
┃ デフォルトで行う。 ┃
┃ ┃
┃例 ┃
┃ ┃
┃ .CONNECT CYMBAL.P16,-1200 ┃
┃ .CONNECT .TONE 4,O3D,4800 ┃
┃ ┃
┃ なお、PPC「.CONNECT」はその他のPPCと違い(...)で括れば.CONNECT自体もPPCを ┃
┃局所的に設定することができる。 ┃
┃ ┃
┃例 ┃
┃ ┃
┃ (.CONNECT .TIMBRE 10,10.VOLUME 150, .PITCH -8) ┃
┃ ┃
┃ (後続の「V120」「P-8」は合成するデータに対して有効となる。 ┃
┃ つまりこの例では、TIMBRE 10,10の音量を150%化、8半音分の音程を下げた ┃
┃ ものを被合成データの後に接合する設定となる。) ┃
┃----------------------------------------------------------------------------┃
┃●ループ領域の設定 ┃
┃.LOOP t,r,o,s ┃
┃・t:0 ┃
┃・r:0-4294967295 ┃
┃・o:0-4294967295 ┃
┃・s:0-4294967295 ┃
┃ ┃
┃ ループ領域を設定する。 ┃
┃ ┃
┃・t:ループタイプ ┃
┃ ループの仕方を設定する。現在のところ設定出来るのは0の順方向(FORWARD)のみ。┃
┃ ┃
┃・r:繰り返し回数 ┃
┃ ループ領域を何回繰り返して再生するかを設定する。0は半永久的に、発音が ┃
┃ 終了するまで繰り返し続ける設定となる。1~4294967296はその数の回数分 ┃
┃ 繰り返しを行い、ループ領域外の再生に移る。 ┃
┃ ┃
┃・o:ループ開始位置 ┃
┃ ループ開始ポイントをデータ先頭から何カウント目に設定するかのオフセット値。┃
┃ 設定範囲は0-4294967295。省略時は0が採択される。 ┃
┃ ┃
┃・s:ループサイズ ┃
┃ ループ領域のサイズを何カウントにするかを指定する。設定範囲は0-4294967295。┃
┃ 省略時は、o以降すべてをループ領域と設定する指定になる。 ┃
┃ ┃
┃例 ┃
┃ ┃
┃ .LOOP 0,10,480,4000 (オフセットカウント480から4000カウント分を順方向に ┃
┃ 10回繰り返し再生する。) ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ TIMBREとTONEの違い ┃
┃ ┃
┃ ZMUSIC Ver.2.0ではADPCMデータの利用方と言えば、0-127個の鍵盤に1音1音割り ┃
┃ ┃
┃当てて利用する、ドラムマシンのような使い方しかありませんでした。この方法は ┃
┃ ┃
┃ドラムパートやパーカッションパートには向いた使用方法でしたが、1つの楽器で ┃
┃ ┃
┃メロディを演奏する時には、使用する音高の全音を個別に鍵盤毎に登録する必要が ┃
┃ ┃
┃あり、非常に面倒な上、ZPDが肥大化するという問題がありました。 ┃
┃ ┃
┃ そこでVer.3.0からは1音を原音程とともに登録すれば、希望の音高をZMUSIC(MPCM)┃
┃ ┃
┃側でリアルタイムに自動的に演奏してくれるモードが新設されました。 ┃
┃ ┃
┃ Ver.2.0からのドラムマシン的なADPCM利用方法をTONEモード、そしてVer.3.0から ┃
┃ ┃
┃新設されたモードをTIMBREモード呼びます。 ┃
┃ ┃
┃ TONEモードでは1-256の256個の音色番号(Ver2.0では1~4の4個まで)があり、 ┃
┃ ┃
┃その1つ1つの音色番号に対して0-127の128個のノート毎に任意のADPCM/PCMデータを ┃
┃ ┃
┃割り当てることが可能です。 ┃
┃ ┃
┃ TIMBREモードではバンクが0-255の256バンク、音色番号1-128の128個のうちの任意┃
┃ ┃
┃の音色番号に割り当てることが出来ます。 ┃
┃ ┃
┃ TIMBRE,TONE共に登録出来るPCMデータ数は最大256x128=32768となります。 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
----------------------------------------
●登録したPCM音色の削除
.ERASE_TIMBRE b,t
・b:0-255
・t:1-128
登録済みのPCM音色のうち不要なものを削除する。
パラメータb,tはPCM音色登録コマンドの同名パラメータと同じ書式。
bはバンク番号で0-255、tは音色番号で1-128の値を取る。
(MEASURE6参照)
例
.16BITPCM_TIMBRE 2,10,O2C,BASS {SLAP.P16,.VOLUME 120}
.ERASE_TIMBRE 2,10
----------------------------------------
●登録したPCMトーンの削除
.ERASE_TONE t,k
・t:1-256
・k:0-127 あるいは O-1C~O9G または C-1~G9
登録済みのPCMトーンのうち不要なものを削除する。
パラメータt,kはPCMトーン登録コマンドの同名パラメータと同じ書式。
tはトーンセット番号で1-256、kはノート番号で0-127、あるいは音階MMLを用いて
O-1C~O9G または C-1~G9のような指定も可能。。
(MEASURE6参照)
例
.ADPCM_TONE 10,o2d,SNARE {.TIMBRE 0,10,.BEND 15600,22000}
.ERASE_TONE 10,o2d
----------------------------------------
●ADPCMデータ定義ファイルの読み込み
.ADPCM_LIST filename
.CNF filename
・filename:文字列
filenameで指定したADPCMデータの定義ファイル(CNFファイル)を読み込み
実行する。filenameで与えるファイルネームは拡張子が省略可能。省略時は
.CNFが自動添付され処理される。
(MEASURE3 zm_exec_subfile(), MEASURE6参照)
例
.ADPCM_LIST orchestra.cnf
.ADPCM_LIST standard (standard.CNFが読み込まれる)
----------------------------------------
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ CNFファイル、ZPDファイルとは ┃
┃ ┃
┃ ADPCMデータ登録/削除を行う共通コマンドのみを記述したZMSを特にCNFファイル ┃
┃ ┃
┃とよんでいます。CNFファイルはZMUSICシステムに含まれる標準PCMファイルコンバー┃
┃ ┃
┃タZPCNV3.RでコンバートするとZPDファイルに変換することが出来ます。 ┃
┃ ┃
┃ CNFファイルに用いることの出来る共通コマンドは以下の通りです。 ┃
┃ ┃
┃.16BITPCM_TIMBRE,.16BITPCM_TONE,.8BITPCM_TIMBRE,.8BITPCM_TONE, ┃
┃.ADPCM_TIMBRE,.ADPCM_TONE,.ADPCM_BANK,.ERASE_TIMBRE,.ERASE_TONE,.ERASE ┃
┃ ┃
┃ CNFファイル中に指定されたADPCMデータに対する加工処理等をあらかじめ行い ┃
┃ ┃
┃結果を1つのファイルにまとめたものをZPDファイルと呼びます。このためZPDファイ ┃
┃ ┃
┃ルはCNFファイルに比べて実際のADPCMデータ登録を高速にまとめて行うことが出来 ┃
┃ ┃
┃ます。 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
----------------------------------------
●ZPDの読み込み
.ADPCM_BLOCK_DATA filename
.ZPD filename
・filename:文字列
filenameで指定されたZPDファイルの読み込みを行う。
filenameの拡張子は省略が可能で、省略時は'.ZPD'が自動添付される。
(MEASURE3 zm_register_zpd(),MEASURE6参照)
例
.ADPCM_BLOCK_DATA SFX.ZPD
.ZPD JAZZ_DRUM (JAZZ_DRUM.ZPDが読み込まれる)
----------------------------------------
■Ver.2.0式ADPCMデータ登録
----------------------------------------
●ADPCMデータ登録先バンクの設定
.ADPCM_BANK n
ADPCM音の登録先のバンクを指定する。
n=バンク番号。1≦n≦4。
初期化共通コマンド'(I)'命令でデフォルト値1が設定される
(MEASURE6参照)
----------------------------------------
●Ver.2.0式ADPCMデータ登録
n filename,PPC
n=filename,PPC
.Ook filename,PPC
.Ook=filename,PPC
・n:0-32767
・Ook:O-1C~O9G
・filename:文字列
・PPC:後述
ADPCMデータの加工/登録を行う。
filenameで指定されたADPCMファイルをトーン番号n、または.Ookで表す
ノートに登録する。
PPC(PCM PROCESSING COMMAND)が指定してあればこれを実行し加工を施した
ADPCMデータをnへ登録する。PPCは省略、あるいは複数設定可能。
なおnの設定範囲は0-32767となる。n(0-32767)による指定は.ADPCM_BANKの
設定を無視して絶対的に行われる。
.Ookの指定はオクターブ値をo、音階kを文字列であらわす、MML形式で
指定する。なお、oの設定範囲は-1~9、kはC,C#,D,D#,E,F,F#,G,G#,A,A#,B
のうちいずれか。
PPCはADPCMデータを加工するコマンドで、以下のようなものがある。
ZMUSIC Ver.2.0以前では各PPCの設定順序が無視されたが、Ver.3.0以降では
指定された順序に従い加工を実行していく。また、同種PPCの複数設定も可能。
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ V2形式のPPC ┃
┃ ┃
┃・Pp ┃
┃ ±1オクターブの範囲で音程変更を行う。変更幅は半音単位でpにて行う。 ┃
┃ pの設定範囲は-12~+12。 ┃
┃ ┃
┃・Vv ┃
┃ 原音量を100とした音量の増減をvで指定する。vの設定範囲は0-65535。 ┃
┃ 数値が大きければ大きいほど音量が大きくなり、100より小さければ ┃
┃ 元の音量よりも小さくなる。 ┃
┃ ┃
┃・Mm,d ┃
┃ トーン番号mのトーンと今回トーン番号nで登録するトーンとを合成する。 ┃
┃ その際、トーンnよりもPCMデータdカウント分送らせて合成させることが ┃
┃ 出来る。mの設定範囲は0-32767。dはトーンの先頭からのオフセット値で ┃
┃ 設定範囲は0-4294967295。 ┃
┃ ┃
┃・Cc,s ┃
┃ 指定位置cから指定サイズsを切り出す。 ┃
┃ cはトーンの先頭アドレスからのオフセット値で設定範囲は0-4294967295。 ┃
┃ sは切り出すサイズで設定範囲は0-4294967295。 ┃
┃ ┃
┃・R ┃
┃ 再生方向を逆転させる処理を行う。 ┃
┃ ┃
┃・Ff,l ┃
┃ フェードインまたはフェードアウトを行う。 ┃
┃ フェードインはオフセットを負値で与えることによって選択される。 ┃
┃ 初期音量lから始まり、先頭からオフセット-fカウントの時点で原音量に ┃
┃ なるような音量変化になる。 ┃
┃ フェードアウトはオフセットを正値で与えることで選択される。 ┃
┃ 初め、原音量から演奏が始まり、最後尾からオフセットfカウントの ┃
┃ 時点から徐々に音量が下がり始め最終的には音量lに落ち着く。 ┃
┃ fの設定範囲は-2147483648~2147483647。lの設定範囲は0-127。 ┃
┃ lは0が無音、127が原音量より微妙に小さい音量に相当する。 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
filenameを、読み込むファイルの名前でなく、数値(0-32767)や音階MML(O-1C~O9G
またはC-1~G9)を設定した場合は、ディスクからADPCMデータを読み出すのではなく
以前に同種のADPCM加工/登録コマンドを用いて登録したトーンのコピーを用いて
加工登録することになる。
登録先ノートやミキシングノートをOok書式で指定する場合、.ADPCM_BANKの設定による
バンク番号が考慮される。
(MEASURE6参照)
例
12 SNARE.PCM,P3,V150,M13,120,C0,1200,R,F-600,40
(SNARE.PCMの音程を3半音上に、音量を150%に増加させ、
ディレイカウント120でトーン13を合成、
オフセット0カウントから1200カウント分を切り出し、
これを反転再生に設定、
オフセットカウント600まで音量40%からフェードインさせる。
以上の加工処理を行ってトーン番号12へ登録する)
SNARE.PCMの部分をたとえば14に変更したとすると
12 14,P3,V150,M13,120,C0,1200,R,F-600,40
加工登録対象を外部デバイスから読み込まず、登録済みの
トーン番号14のデータを加工登録対象とする設定になる。
.ADPCM_BANK 3
.O4C CYMBAL.PCM,V130,MO3D
音量を150%上げたCYMBAL.PCMとバンク番号3のオクターブ3のDのトーンとを合成し
これをバンク番号3のオクターブ4のCのノートに登録する。
----------------------------------------
●登録したADPCMデータの削除
.ERASE n
.ERASE .Ook (.Oの'.'はあってもなくてもいい)
・n:0-32767
・Ook:O-1C~O9G
登録済みのADPCMトーンのうち不要なものを削除する。
パラメータnやOokはADPCM登録コマンドの同名パラメータと同じ書式。
Ook書式は.ADPCM_BANKの設定によるバンク番号が考慮される。
(MEASURE6参照)
例
.ADPCM_BANK 3
.ERASE O4C (バンク番号3のオクターブ4のCのトーンを削除する)
----------------------------------------
■外部ファイル読み込み
----------------------------------------
●外部ファイル読み込み
.CALL filename
・filename:文字列
filenameで指定したファイルを演奏時に読み込み実行する。filenameで指定出来る
ファイルはZPD,CNF,ZMD,ZMS(ZMC),MID,MDDで、拡張子の省略は出来ない。
後述の.INCLUDEとの違いはファイルの実行のされ方。.CALLでは演奏時に
読み込んだファイル種別に応じて実行する。たとえばZPDファイルならばZPDを組み込み
MIDならばMIDIポートへ出力する。
一方、.INCLUDEは読み込んだファイルをZMSとしてその場でコンパイルしZMD化する。
例
.CALL CM64TIMBRE.MID
----------------------------------------
●ZMSファイル読み込み
.INCLUDE filename
・filename:文字列
filenameで指定したファイルを読み込み、ZMSとしてコンパイルする。
filenameで指定出来るファイルはZMS(ZMC),CNFで、拡張子省略時は'ZMC'が自動添付
される。
前述の.CALLとの違いはファイルの実行のされ方。.CALLでは演奏時に
読み込んだファイル種別に応じて実行する。たとえばZPDファイルならばZPDを組み込み
MIDならばMIDIポートへ出力する。
一方、.INCLUDEは読み込んだファイルをZMSとしてその場でコンパイルしてZMD化する。
例
.INCLUDE FMTONE.ZMS
----------------------------------------
■入出力MIDIポート選択
----------------------------------------
●カレントMIDI入力ポート選択
.CURRENT_MIDI_IN if
・if:1-4
MIDI入力を行う際のデフォルトインターフェースを選択する。MIDI入出力関連命令の
ほぼすべてに送受対象インターフェースを指定出来るようになっているが、この指定
を省略した場合やVer.2.0 ZMSコマンドなどの一部の送受対象インターフェースを指定
出来ない命令を使用した時に、本命令によって設定されたインターフェースが
デフォルトとして選択される。ZMUSIC Ver.3.0では.CURRENT_MIDI_INで設定した
インターフェースをカレントMIDI-INインターフェースと呼ぶ。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
例
.CURRENT_MIDI_IN 3
(MEASURE3 zm_current_midi_in()参照)
----------------------------------------
●カレントMIDI出力ポート選択
.CURRENT_MIDI_OUT if
・if:1-4
MIDI出力入力を行う際のデフォルトインターフェースを選択する。MIDI入出力関連命令の
ほぼすべてに送受対象インターフェースを指定出来るようになっているが、この指定
を省略した場合やVer.2.0 ZMSコマンドなどの一部の送受対象インターフェースを指定
出来ない命令を使用した時に、本命令によって設定されたインターフェースが
デフォルトとして選択される。ZMUSIC Ver.3.0では.CURRENT_MIDI_OUTで設定した
インターフェースをカレントMIDI-OUTインターフェースと呼ぶ。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
例
.CURRENT_MIDI_OUT 3
(MEASURE3 zm_current_midi_out()参照)
----------------------------------------
■MIDIデータ出力
----------------------------------------
●MIDIデータ出力
(Xn1,n2,…,ni) *
・n1~ni:0-255
.current_midi_outで選択したMIDIポートへデータn1~niを送信する。
データn1~niの有効範囲は0~255。256以上のデータも与えることができるが
その場合はその値を7ビットごとに分けて下位から送信する。たとえば8192は$2000だが
7ビットごとに分割するので$40,$00となる。これを下位から送信するので実際には
$00,$40の順番でMIDI送信される。同様に32700は$3C,$7F,$01のように送信される。
例
(X $b0,$79,$00)
(MEASURE3 zm_midi_transmission()参照)
----------------------------------------
●MIDIデータ出力
.MIDI_DATA if,comment {n1,n2,…ni} *
・if:1-4
・comment:文字列
MIDIポートifへデータn1~niを送信する。データn1~niの有効範囲は0~255。
256以上のデータも与えることができるがその場合はその値を7ビットごとに分けて
下位から送信する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
commentは注釈で、'{'以外の255文字を用いて与えることが出来る。
commentは省略可能。
例
.MIDI_DATA 2,PANPOT_CH1 {$b0,$0a,64}
(MEASURE3 zm_midi_transmission()参照)
----------------------------------------
●エクスクルーシブ・メッセージ送信
.EXCLUSIVE if,comment {n1,n2,…,ni} *
・if:1-4
・comment:文字列
MIDIポートifへデータn1~niをエクスクルーシブメッセージとしてMIDI送信する。
データn1~niの有効範囲は0~127。128以上のデータも与えることができるが
その場合はその値を7ビットごとに分けて下位から送信する。
例
255→$01,$7F
8192→$00,$40
32700→$3C,$7F,$01
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
commentは注釈で、'{'以外の255文字を用いて与えることが出来る。
commentは省略可能。
例
.EXCLUSIVE 2,GM_ON {$7e,$7f,$09,$01}
(MEASURE3 zm_exclusive()参照)
----------------------------------------
●ローランド・エクスクルーシブ・メッセージ送信
.ROLAND_EXCLUSIVE dev,mdl,if,comment {n1,n2,…,ni} *
・dev:0-127
・mdl:0-127
・if:1-4
・comment:文字列
ローランド製のMIDI機器へエクスクルーシブメッセージを送信する。
エクスクルーシブ・ヘッダやチェックサム・バイトは送信メッセージ内容から
自動算出し自動送信する。
なお、送信の際、使用するローランド・エクスクルーシブ・コマンドはDT1($12)。
・dev:デバイスID
同一機器間で区別をするためのID。通常は$10とすることが多い。
・mdl:モデルID
ローランドが同社製品に対して固有に与えた識別ID。たとえばGS音源は$42が
与えられている。
・if:
送信を行うifを設定する。設定範囲は1-4。MIDIインターフェースの個数が
少ない場合は4より小さくなる。ifを省略した場合は.current_midi_outで
選択したカレントMIDIポートへ出力される。
・comment:コメント
'{'以外の255文字を用いて送信内容に関する注釈を与えることが出来る。
省略可能。
・n1~ni:エクスクルーシブデータ
送信するエクスクルーシブデータを与える。有効範囲は0≦ni≦127。128以上は
その値を7ビットごとに分けて下位から送信する。
例
.ROLAND_EXCLUSIVE $10,$42,0,MASTERVOLUME=100 {$40,$00,$04$,$64}
(MEASURE3 zm_exclusive()参照)
----------------------------------------
●ヤマハ・エクスクルーシブ・メッセージ送信
.YAMAHA_EXCLUSIVE dev,mdl,if,comment {n1,n2,…,ni} *
・dev:0-127
・mdl:0-127
・if:1-4
・comment:文字列
ヤマハ製のMIDI機器へエクスクルーシブメッセージを送信する。
エクスクルーシブ・ヘッダや転送バイト数、チェックサム・バイトは送信メッセージ
内容から自動算出し自動送信する。
なお、送信の際、使用するヤマハ・エクスクルーシブ・タイプはバルク・ダンプ。
・dev:デバイスID
同一機器間で区別をするためのID。通常は$00とすることが多い。
・mdl:モデルID
ヤマハが同社製品に対して固有に与えた識別ID。たとえばXG音源は$4cが
与えられている。
・if:
送信を行うifを設定する。設定範囲は1-4。MIDIインターフェースの個数が
少ない場合は4より小さくなる。ifを省略した場合は.current_midi_outで
選択したカレントMIDIポートへ出力される。
・comment:コメント
'{'以外の255文字を用いて送信内容に関する注釈を与えることが出来る。
省略可能。
・n1~ni:エクスクルーシブデータ
送信するエクスクルーシブデータを与える。有効範囲は0≦ni≦127。128以上は
その値を7ビットごとに分けて下位から送信する。
例
.YAMAHA_EXCLUSIVE $00,$4c,1,XG SYSTEM ON { $00,$00,$7E,$00 }
(MEASURE3 zm_exclusive()参照)
----------------------------------------
●スタンダードMIDIファイルの送信
.MIDI_DUMP if,filename
.SMF if,filename
・if:1-4
・filename:文字列
ファイルネームfilenameのFORMAT0のスタンダードMIDIファイルをMIDIポートifに
送信する。FORMAT1,FORMAT2のスタンダードMIDIファイルを送信することはできない。
また、ZMUSIC Ver.2.0で扱われていたMIDIダンプデータ(MDD)も送信することも
できる。
filenameの拡張子省略時には(互換性保持のため)'.MDD'が自動添付される。
スタンダードMIDIファイルの場合は'.MID'や'.SMF'といった拡張子を明記する必要が
ある。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
例
.MIDI_DUMP CM64TIMBRE.MID
(MEASURE3 zm_transmit_midi_dump()参照)
----------------------------------------
■SC55/mkII(SC155/CM300/CM500)専用命令
----------------------------------------
●SC55初期化
.SC55_INIT id,if
.SC55_RESET id,if
.GS_INIT id,if
.GS_RESET id,if
・id:$00~$7f
・if:$01~$04
MIDIポートifに接続されたSC55の初期化を行なう。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはSC55のデバイスIDで省略可能、省略時は$10。
例
.SC55_INIT $10
----------------------------------------
●SC55の各パートのボイスリザーブ
.SC55_V_RESERVE id,if {n1,n2,…,n16} *
.SC55_PARTIAL_RESERVE id,if {n1,n2,…,n16} *
.GS_V_RESERVE id,if {n1,n2,…,n16} *
.GS_PARTIAL_RESERVE id,if {n1,n2,…,n16} *
・id:$00~$7f
・n1~n16:0~127
・if:$01~$04
MIDIポートifに接続されたSC55の各パートのボイスリザーブを行う。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはSC55のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n16)は必ず16個設定しなくてはならない。
またパラメータ各値の総和は音源の同時発音数以内に収める必要がある。
n1~n16はそれぞれパート1~16のボイスリザーブ値に対応し、10番目の
パラメータはリズムパートに対応する。
(SC55マニュアルp79, またはMEASURE3 zm_gs_partial_reserve()参照))
例
.SC55_PARTIAL_RESERVE $10 {
2,4,2,2,0,0,0,0,0,5,0,0,0,0,0,0
}
----------------------------------------
●SC55のリバーブパラメータの設定
.SC55_REVERB id,if {n1,n2,…,n7} *
.GS_REVERB id,if {n1,n2,…,n7} *
・id:$00~$7f
・n1~n7:0-127
・if:$01~$04
MIDIポートifに接続されたSC55のリバーブパラメータの設定を行う。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはSC55のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n7)は7個まで任意の個数設定可能。
n1:REVERB MACRO 00:Room1,01:Room2,02:Room3,03:Hall1,04:Hall2
05:Plate,06:Delay,07:Panning Delay(FB)
n2:REVERB CHARACTER ($00~$07)
n3:REVERB PRE-LPF ($00~$07)
n4:REVERB LEVEL ($00~$7F)
n5:REVERB TIME ($00~$7F)
n6:REVERB DELAY FEEDBACK ($00~$7F)
n7:REVERB SEND LEVEL TO CHORUS ($00~$7F)
(SC55マニュアルp79参照)
例
.SC55_REVERB $10 ={4,4,0,88,70,0,0}
----------------------------------------
●SC55のコーラスパラメータの設定
.SC55_CHORUS id,if {n1,n2,…,n8} *
.GS_CHORUS id,if {n1,n2,…,n8} *
・id:$00~$7f
・n1~n8:0-127
・if:$01~$04
MIDIポートifに接続されたSC55のコーラスパラメータの設定を行う。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはSC55のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n8)は8個まで任意の個数設定可能。
n1:CHORUS MACRO 00:Chorus1,01:Chorus2,02:Chorus3,03:Chorus4
04:Feedback Chorus,05:Flanger,06:Short Delay
07:Short Delay(FB)
n2:CHORUS PRE-LPF ($00~$07)
n3:CHORUS LEVEL ($00~$7F)
n4:CHORUS FEEDBACK ($00~$7F)
n5:CHORUS DELAY ($00~$7F)
n6:CHORUS RATE ($00~$7F)
n7:CHORUS DEPTH ($00~$7F)
n8:CHORUS SEND LEVEL TO REVERB ($00~$7F)
(SC55マニュアルp79参照)
例
.SC55_CHORUS $10 ={2,0,100,8,80,3,19,0}
----------------------------------------
●SC55のパートのパラメータを設定
.SC55_PART_SETUP pt,id,if {n1,n2,…,n119} *
.GS_PART_SETUP pt,id,if {n1,n2,…,n119} *
.SC55_PART_PARAMETER pt,id,if {n1,n2,…,n119} *
.GS_PART_PARAMETER pt,id,if {n1,n2,…,n119} *
・pt:1~16
・id:0-127
・if:$01~$04
・n1~n119:0-127
MIDIポートifに接続されたSC55のパートのパラメータを設定する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
ptはパートナンバーを表し、1≦pt≦16で省略は不可。またパートナンバー=10は
リズムパートに対応する。
idはSC55のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n119)は119個まで任意の個数設定可能。
n1:Rx CHANNEL (1~16,17=OFF)
n2:Rx PITCH BEND (0~1:OFF/ON)
n3:Rx CH PRESSURE(CAf) (0~1:OFF/ON)
n4:Rx PROGRAM CHANGE (0~1:OFF/ON)
n5:Rx CONTROL CHANGE (0~1:OFF/ON)
n6:Rx POLY PRESSURE(PAf) (0~1:OFF/ON)
n7:Rx NOTE MESSAGE (0~1:OFF/ON)
n8:Rx RPN (0~1:OFF/ON)
n9:Rx NRPN (0~1:OFF/ON)
n10:Rx MODURATION (0~1:OFF/ON)
n11:Rx VOLUME (0~1:OFF/ON)
n12:Rx PANPOT (0~1:OFF/ON)
n13:Rx EXPRESSION (0~1:OFF/ON)
n14:Rx HOLD1 (0~1:OFF/ON)
n15:Rx PORTAMENTO (0~1:OFF/ON)
n16:Rx SOSTENUTO (0~1:OFF/ON)
n17:Rx SOFT (0~1:OFF/ON)
n18:MONO/POLY MODE (0~1:MONO/POLY)
n19:ASSIGN MODE (0:SINGLE,1:LIMITED-MULTI,2:FULL-MULTI)
n20:USE FOR RHYTHM PART (0:OFF,1:MAP1,2:MAP2)
n21:PITCH KEY SHIFT ($28~$58:-24~+24[semitone])
n22:PITCH OFFSET FINE(upper) ($08~$F8:-12.0~+12.0[Hz])
n23:PITCH OFFSET FINE(lower) 〃
n24:PART LEVEL (0~127)
n25:VELOCITY SENSE DEPTH (0~127)
n26:VELOCITY SENSE OFFSET (0~127)
n27:PART PANPOT (0:RANDOM,01(LEFT)~64~127(RIGHT))
n28:KEY RANGE LOW (0~127:C-1~G9)
n29:KEY RANGE HIGH (0~127:C-1~G9)
n30:CC1 CONTROL NUMBER (0~127)
n31:CC2 CONTROL NUMBER (0~127)
n32:CHORUS SEND DEPTH (0~127)
n33:REVERB SEND DEPTH (0~127)
n34:Vibrato rate ($0E~$72:-50~+50)
n35:Vibrato depth ($0E~$72:-50~+50)
n36:TVF cutoff freq. ($0E~$50:-50~+16)
n37:TVF resonance ($0E~$72:-50~+50)
n38:TVF&TVA Env.attack ($0E~$72:-50~+50)
n39:TVF&TVA Env.decay ($0E~$72:-50~+50)
n40:TVF&TVA Env.release ($0E~$72:-50~+50)
n41:Vibrato delay ($0E~$72:-50~+50)
n42:SCALE TUNING C ($00~$7F:-64~+63[cent])
n43:SCALE TUNING C# ($00~$7F:-64~+63[cent])
n44:SCALE TUNING D ($00~$7F:-64~+63[cent])
n45:SCALE TUNING D# ($00~$7F:-64~+63[cent])
n46:SCALE TUNING E ($00~$7F:-64~+63[cent])
n47:SCALE TUNING F ($00~$7F:-64~+63[cent])
n48:SCALE TUNING F# ($00~$7F:-64~+63[cent])
n49:SCALE TUNING G ($00~$7F:-64~+63[cent])
n50:SCALE TUNING G# ($00~$7F:-64~+63[cent])
n51:SCALE TUNING A ($00~$7F:-64~+63[cent])
n52:SCALE TUNING A# ($00~$7F:-64~+63[cent])
n53:SCALE TUNING B ($00~$7F:-64~+63[cent])
n54:MOD PITCH CONTROL ($28~$58:-24~+24[semitone])
n55:MOD TVF CUTOFF CONTROL ($00~$7F:-9600~+9600[CENT])
n56:MOD AMPLITUDE CONTROL ($00~$7F:-100.0~+100.0[%])
n57:MOD LFO1 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n58:MOD LFO1 PITCH DEPTH ($00~$7F:0~600[cent])
n59:MOD LFO1 TVF DEPTH ($00~$7F:0~2400[cent])
n60:MOD LFO1 TVA DEPTH ($00~$7F:0~100.0[%])
n61:MOD LFO2 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n62:MOD LFO2 PITCH DEPTH ($00~$7F:0~600[cent])
n63:MOD LFO2 TVF DEPTH ($00~$7F:0~2400[cent])
n64:MOD LFO2 TVA DEPTH ($00~$7F:0~100.0[%])
n65:BEND PITCH CONTROL ($28~$58:-24~+24[semitone])
n66:BEND TVF CUTOFF CONTROL ($00~$7F:-9600~+9600[CENT])
n67:BEND AMPLITUDE CONTROL ($00~$7F:-100.0~+100.0[%])
n68:BEND LFO1 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n69:BEND LFO1 PITCH DEPTH ($00~$7F:0~600[cent])
n70:BEND LFO1 TVF DEPTH ($00~$7F:0~2400[cent])
n71:BEND LFO1 TVA DEPTH ($00~$7F:0~100.0[%])
n72:BEND LFO2 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n73:BEND LFO2 PITCH DEPTH ($00~$7F:0~600[cent])
n74:BEND LFO2 TVF DEPTH ($00~$7F:0~2400[cent])
n75:BEND LFO2 TVA DEPTH ($00~$7F:0~100.0[%])
n76:CAf PITCH CONTROL ($28~$58:-24~+24[semitone])
n77:CAf TVF CUTOFF CONTROL ($00~$7F:-9600~+9600[CENT])
n78:CAf AMPLITUDE CONTROL ($00~$7F:-100.0~+100.0[%])
n79:CAf LFO1 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n80:CAf LFO1 PITCH DEPTH ($00~$7F:0~600[cent])
n81:CAf LFO1 TVF DEPTH ($00~$7F:0~2400[cent])
n82:CAf LFO1 TVA DEPTH ($00~$7F:0~100.0[%])
n83:CAf LFO2 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n84:CAf LFO2 PITCH DEPTH ($00~$7F:0~600[cent])
n85:CAf LFO2 TVF DEPTH ($00~$7F:0~2400[cent])
n86:CAf LFO2 TVA DEPTH ($00~$7F:0~100.0[%])
n87:PAf PITCH CONTROL ($28~$58:-24~+24[semitone])
n88:PAf TVF CUTOFF CONTROL ($00~$7F:-9600~+9600[CENT])
n89:PAf AMPLITUDE CONTROL ($00~$7F:-100.0~+100.0[%])
n90:PAf LFO1 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n91:PAf LFO1 PITCH DEPTH ($00~$7F:0~600[cent])
n92:PAf LFO1 TVF DEPTH ($00~$7F:0~2400[cent])
n93:PAf LFO1 TVA DEPTH ($00~$7F:0~100.0[%])
n94:PAf LFO2 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n95:PAf LFO2 PITCH DEPTH ($00~$7F:0~600[cent])
n96:PAf LFO2 TVF DEPTH ($00~$7F:0~2400[cent])
n97:PAf LFO2 TVA DEPTH ($00~$7F:0~100.0[%])
n98:CC1 PITCH CONTROL ($28~$58:-24~+24[semitone])
n99:CC1 TVF CUTOFF CONTROL ($00~$7F:-9600~+9600[CENT])
n100:CC1 AMPLITUDE CONTROL ($00~$7F:-100.0~+100.0[%])
n101:CC1 LFO1 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n102:CC1 LFO1 PITCH DEPTH ($00~$7F:0~600[cent])
n103:CC1 LFO1 TVF DEPTH ($00~$7F:0~2400[cent])
n104:CC1 LFO1 TVA DEPTH ($00~$7F:0~100.0[%])
n105:CC1 LFO2 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n106:CC1 LFO2 PITCH DEPTH ($00~$7F:0~600[cent])
n107:CC1 LFO2 TVF DEPTH ($00~$7F:0~2400[cent])
n108:CC1 LFO2 TVA DEPTH ($00~$7F:0~100.0[%])
n109:CC2 PITCH CONTROL ($28~$58:-24~+24[semitone])
n110:CC2 TVF CUTOFF CONTROL ($00~$7F:-9600~+9600[CENT])
n111:CC2 AMPLITUDE CONTROL ($00~$7F:-100.0~+100.0[%])
n112:CC2 LFO1 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n113:CC2 LFO1 PITCH DEPTH ($00~$7F:0~600[cent])
n114:CC2 LFO1 TVF DEPTH ($00~$7F:0~2400[cent])
n115:CC2 LFO1 TVA DEPTH ($00~$7F:0~100.0[%])
n116:CC2 LFO2 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n117:CC2 LFO2 PITCH DEPTH ($00~$7F:0~600[cent])
n118:CC2 LFO2 TVF DEPTH ($00~$7F:0~2400[cent])
n119:CC2 LFO2 TVA DEPTH ($00~$7F:0~100.0[%])
(SC55マニュアルp75,p79~80参照)
例
.SC55_PART_SETUP 16 {17,1,1,1}
----------------------------------------
●SC55のドラムセットの設定
.SC55_DRUM_SETUP map,key,id,if {n1,n2,…,n8} *
.GS_DRUM_SETUP map,key,id,if {n1,n2,…,n8} *
・map:0,1
・key:0-127
・id:0-127
・if:$01~$04
・n1~n8:0-127
MIDIポートifに接続されたSC55のドラムセットの設定を変える。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
mapはマップナンバーを表し設定範囲は0,1。
keyはノートナンバーを表し設定範囲は0≦key≦127。
idはSC55のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n8)は8個まで任意の個数設定可能。
n1:PLAY KEY NUMBER (0~127)
n2:LEVEL (0~127)
n3:ASSIGN GROUP NUMBER (0:NON,1~127)
n4:PANPOT (0:RANDOM,01(LEFT)~64~127(RIGHT))
n5:REVERB DEPTH (0~127:0.0~1.0)
n6:CHORUS DEPTH (0~127:0.0~1.0)
n7:Rx NOTE OFF (0~1:OFF/ON)
n8:Rx NOTE ON (0~1:OFF/ON)
(SC55マニュアルp82参照)
例
.GS_DRUM_SETUP 0,24,$10 {24,127,0,0,10,15,0,1}
----------------------------------------
●SC55のドラムセット名の設定
.SC55_DRUM_NAME map,id,if str
.GS_DRUM_NAME map,id,if str
・map:0,1
・id:0-127
・if:$01~$04
・str:文字列
MIDIポートifに接続されたSC55のドラムセット名の設定を行う。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
mapはマップナンバーを表し設定範囲は0,1。
idはSC55のデバイスIDで省略可能、省略時は$10。
strはドラセット名を表す文字列で、"~"で括り12文字以内で指定する。
(SC55マニュアルp82参照)
例
.GS_DRUM_NAME 0,$10 "USER SET"
----------------------------------------
●SC55コンソールへの文字列表示
.SC55_PRINT id,if str
.GS_PRINT id,if str
・id:0-127
・if:$01~$04
・str:文字列
MIDIポートifに接続されたSC55のコンソールに文字列を表示する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
文字列strは"~"で括り32文字以内に収めなければならない。
idはSC55のデバイスIDで省略可能、省略時は$10。
例
.GS_PRINT $10 "HELLO"
----------------------------------------
●SC55グラフィックディスプレイへのドットパターン表示
.SC55_DISPLAY id,if {n1,n2,…,n16} *
.GS_DISPLAY id,if {n1,n2,…,n16} *
・id:0-127
・if:$01~$04
・n1~n16:%0000000000000000~%1111111111111111
MIDIポートifに接続されたSC55のグラフィックディスプレイにドットパターン
(16x16)を表示する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはSC55のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n16)は必ず16個。
n1:1段目のドットパターン
n2:2段目のドットパターン
:
:
n16:16段目のドットパターン
例
.GS_DISPLAY $10 { %0001000000010000
%0000100000100000
%0111111111111100
%0000000100000000
%0011111111111000
%0000000100000000
%0111111111111100
%0001000100010000
%0000100100100000
%1111111111111110
%0000000000000000
%0011111111111000
%0010000000001000
%0010000000001000
%0011111111111000
%0010000000001000}
----------------------------------------
■GM音源専用命令
----------------------------------------
●GM音源初期化
.GM_SYSTEM_ON if
・if:$01~$04
MIDIポートifに接続されたGM音源を初期化状態にリセットする。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
例
.GM_SYSTEM_ON
----------------------------------------
■SC88/SC88VL専用命令
----------------------------------------
●SC88モード設定
.SC88_MODE md,id,if
.SC88_MODE_SET md,id,if
・md:1,2
・id:0-127
・if:$01~$04
MIDIポートifに接続されたSC88のモードの設定を行う。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはSC88のデバイスIDで省略可能、省略時は$10。
mdはモード値を表し、md=1でSingleモード、md=2でDoubleモードが設定される。
(SC88VLマニュアルp77参照)
例
.SC88_MODE 1,$10
----------------------------------------
●SC88リバーブ・パラメータの設定
.SC88_REVERB id,if {n1,n2,...,n8} *
・id:0-127
・if:$01~$04
・n1~n8:下記参照
MIDIポートifに接続されたSC88のリバーブ・パラメータの設定を行う。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはSC88のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n8)は8個以内で任意の個数設定可能。
n1:REVERB MACRO 00:Room1,01:Room2,02:Room3,03:Hall1,04:Hall2
05:Plate,06:Delay,07:Panning Delay(FB)
n2:REVERB CHARACTER ($00~$07)
n3:REVERB PRE-LPF ($00~$07)
n4:REVERB LEVEL ($00~$7F)
n5:REVERB TIME ($00~$7F)
n6:REVERB DELAY FEEDBACK ($00~$7F)
n7:REVERB SEND LEVEL TO CHORUS ($00~$7F/SC88ではダミー)
n8:REVERB PRE-DELAY TIME ($00~$7F)
(SC88VLマニュアルp77参照)
例
.SC88_REVERB $10 {0,0,127,10,10,0,127}
----------------------------------------
●SC88コーラス・パラメータの設定
.SC88_CHORUS id,if {n1,n2,...,n9}
・id:0-127
・if:$01~$04
・n1~n9:下記参照
MIDIポートifに接続されたSC88のコーラス・パラメータの設定を行う。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはSC88のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n9)は9個以内で任意の個数設定可能。
n1:CHORUS MACRO 00:Chorus1,01:Chorus2,02:Chorus3,03:Chorus4
04:Feedback Chorus,05:Flanger,06:Short Delay
07:Short Delay(FB)
n2:CHORUS PRE-LPF ($00~$07)
n3:CHORUS LEVEL ($00~$7F)
n4:CHORUS FEEDBACK ($00~$7F)
n5:CHORUS DELAY ($00~$7F)
n6:CHORUS RATE ($00~$7F)
n7:CHORUS DEPTH ($00~$7F)
n8:CHORUS SEND LEVEL TO REVERB ($00~$7F)
n9:CHORUS SEND LEVEL TO DELAY ($00~$7F)
(SC88VLマニュアルp78参照)
例
.SC88_CHORUS $10 {0,3,60,10,10,10,24,30,30}
----------------------------------------
●SC88ディレイ・パラメータの設定
.SC88_DELAY id,if {n1,n2,...,n11} *
・id:0-127
・if:$01~$04
・n1~n11:下記参照
MIDIポートifに接続されたSC88のディレイ・パラメータの設定を行う。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはSC88のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n11)は11個以内で任意の個数設定可能。
n1:DELAY MACRO 00:Delay1,01:Delay2,02:Delay3
03:Delay4,04:Pan Delay1
05:Pan Delay2,06:Pan Delay3,07:Pan Delay4
08:Delay to Reverb,09:Pan Repeat
n2:DELAY PRE-LPF ($00~$07)
n3:DELAY TIME CENTER ($01~$73:0.1ms~sec)
n4:DELAY TIME RATIO LEFT ($01~$78:4~500%)
n5:DELAY TIME RATIO RIGHT ($01~$78:4~500%)
n6:DELAY LEVEL CENTER ($00~$7F)
n7:DELAY LEVEL LEFT ($00~$7F)
n8:DELAY LEVEL RIGHT ($00~$7F)
n9:DELAY LEVEL ($00~$7F)
n10:DELAY FEEDBACK ($00~$7F:-64~+63)
n11:DELAY SENDLEVEL TO REVERB ($00~$7F)
(SC88VLマニュアルp78参照)
例
.SC88_DELAY $10 {0,3,10,22,22,64,64,64,64,64,30}
----------------------------------------
●SC88イコライザ・パラメータの設定
.SC88_EQUALIZER id,if {n1,n2,n3,n4} *
・id:0-127
・if:$01~$04
・n1~n4:下記参照
MIDIポートifに接続されたSC88のイコライザ・パラメータの設定を行う。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはSC88のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n4)は4個以内で任意の個数設定可能。
n1:EQ LOW FREQ (0,1:200Hz,400Hz)
n2:EQ LOW GAIN ($34~$4c:-12~+12dB)
n3:EQ HIGH FREQ (0,1:3kHz,6kHz)
n4:EQ HIGH GAIN ($34~$4c:-12~+12dB)
(SC88VLマニュアルp78参照)
例
.SC88_EQUALIZER $10 {0,$40,1,$40}
----------------------------------------
●SC88パート・パラメータの設定
.SC88_PART_SETUP pt,id,if {n1,n2,...,n127} *
.SC88_PART_PARAMETER pt,id,if {n1,n2,...,n127} *
・pt:1~16
・id:0-127
・if:$01~$04
・n1~n127:下記参照
MIDIポートifに接続されたSC88パート・パラメータの設定する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
ptはパートナンバーを表し、1≦pt≦16で省略は不可。またパートナンバー=10は
リズムパートに対応する。
idはSC88のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n127)は127個まで任意の個数設定可能。
n1:Rx CHANNEL (1~16,17=OFF)
n2:Rx PITCH BEND (0~1:OFF/ON)
n3:Rx CH PRESSURE(CAf) (0~1:OFF/ON)
n4:Rx PROGRAM CHANGE (0~1:OFF/ON)
n5:Rx CONTROL CHANGE (0~1:OFF/ON)
n6:Rx POLY PRESSURE(PAf) (0~1:OFF/ON)
n7:Rx NOTE MESSAGE (0~1:OFF/ON)
n8:Rx RPN (0~1:OFF/ON)
n9:Rx NRPN (0~1:OFF/ON)
n10:Rx MODURATION (0~1:OFF/ON)
n11:Rx VOLUME (0~1:OFF/ON)
n12:Rx PANPOT (0~1:OFF/ON)
n13:Rx EXPRESSION (0~1:OFF/ON)
n14:Rx HOLD1 (0~1:OFF/ON)
n15:Rx PORTAMENTO (0~1:OFF/ON)
n16:Rx SOSTENUTO (0~1:OFF/ON)
n17:Rx SOFT (0~1:OFF/ON)
n18:MONO/POLY MODE (0~1:MONO/POLY)
n19:ASSIGN MODE (0:SINGLE,1:LIMITED-MULTI,2:FULL-MULTI)
n20:USE FOR RHYTHM PART (0:OFF,1:MAP1,2:MAP2)
n21:PITCH KEY SHIFT ($28~$58:-24~+24[semitone])
n22:PITCH OFFSET FINE(upper) ($08~$F8:-12.0~+12.0[Hz])
n23:PITCH OFFSET FINE(lower) 〃
n24:PART LEVEL (0~127)
n25:VELOCITY SENSE DEPTH (0~127)
n26:VELOCITY SENSE OFFSET (0~127)
n27:PART PANPOT (0:RANDOM,01(LEFT)~64~127(RIGHT))
n28:KEY RANGE LOW (0~127:C-1~G9)
n29:KEY RANGE HIGH (0~127:C-1~G9)
n30:CC1 CONTROL NUMBER (0~127)
n31:CC2 CONTROL NUMBER (0~127)
n32:CHORUS SEND LEVEL (0~127)
n33:REVERB SEND LEVEL (0~127)
n34:Rx BANK SELECT (0:OFF,1:ON)
n35:Rx BANK SELECT LSB (0:OFF,1:ON)
n36:PITCH FINE TUNE(Upper) ($00 00~$40 00~$7f 7f:-100~0~+100)
n37:PITCH FINE TUNE(Lower)
n38:DELAY SEND LEVEL (0~127)
n39:Vibrato rate ($00~$7f:-64~+63)
n40:Vibrato depth ($00~$7f:-64~+63)
n41:TVF cutoff freq. ($00~$7f:-64~+63)
n42:TVF resonance ($00~$7f:-64~+63)
n43:TVF&TVA Env.attack ($00~$7f:-64~+63)
n44:TVF&TVA Env.decay ($00~$7f:-64~+63)
n45:TVF&TVA Env.release ($00~$7f:-64~+63)
n46:Vibrato delay ($00~$7f:-64~+63)
n47:SCALE TUNING C ($00~$7F:-64~+63[cent])
n48:SCALE TUNING C# ($00~$7F:-64~+63[cent])
n49:SCALE TUNING D ($00~$7F:-64~+63[cent])
n50:SCALE TUNING D# ($00~$7F:-64~+63[cent])
n51:SCALE TUNING E ($00~$7F:-64~+63[cent])
n52:SCALE TUNING F ($00~$7F:-64~+63[cent])
n53:SCALE TUNING F# ($00~$7F:-64~+63[cent])
n54:SCALE TUNING G ($00~$7F:-64~+63[cent])
n55:SCALE TUNING G# ($00~$7F:-64~+63[cent])
n56:SCALE TUNING A ($00~$7F:-64~+63[cent])
n57:SCALE TUNING A# ($00~$7F:-64~+63[cent])
n58:SCALE TUNING B ($00~$7F:-64~+63[cent])
n59:MOD PITCH CONTROL ($28~$58:-24~+24[semitone])
n60:MOD TVF CUTOFF CONTROL ($00~$7F:-9600~+9600[CENT])
n61:MOD AMPLITUDE CONTROL ($00~$7F:-100.0~+100.0[%])
n62:MOD LFO1 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n63:MOD LFO1 PITCH DEPTH ($00~$7F:0~600[cent])
n64:MOD LFO1 TVF DEPTH ($00~$7F:0~2400[cent])
n65:MOD LFO1 TVA DEPTH ($00~$7F:0~100.0[%])
n66:MOD LFO2 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n67:MOD LFO2 PITCH DEPTH ($00~$7F:0~600[cent])
n68:MOD LFO2 TVF DEPTH ($00~$7F:0~2400[cent])
n69:MOD LFO2 TVA DEPTH ($00~$7F:0~100.0[%])
n70:BEND PITCH CONTROL ($40~$58:-24~+24[semitone])
n71:BEND TVF CUTOFF CONTROL ($00~$7F:-9600~+9600[CENT])
n72:BEND AMPLITUDE CONTROL ($00~$7F:-100.0~+100.0[%])
n73:BEND LFO1 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n74:BEND LFO1 PITCH DEPTH ($00~$7F:0~600[cent])
n75:BEND LFO1 TVF DEPTH ($00~$7F:0~2400[cent])
n76:BEND LFO1 TVA DEPTH ($00~$7F:0~100.0[%])
n77:BEND LFO2 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n78:BEND LFO2 PITCH DEPTH ($00~$7F:0~600[cent])
n79:BEND LFO2 TVF DEPTH ($00~$7F:0~2400[cent])
n80:BEND LFO2 TVA DEPTH ($00~$7F:0~100.0[%])
n81:CAf PITCH CONTROL ($28~$58:-24~+24[semitone])
n82:CAf TVF CUTOFF CONTROL ($00~$7F:-9600~+9600[CENT])
n83:CAf AMPLITUDE CONTROL ($00~$7F:-100.0~+100.0[%])
n84:CAf LFO1 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n85:CAf LFO1 PITCH DEPTH ($00~$7F:0~600[cent])
n86:CAf LFO1 TVF DEPTH ($00~$7F:0~2400[cent])
n87:CAf LFO1 TVA DEPTH ($00~$7F:0~100.0[%])
n88:CAf LFO2 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n89:CAf LFO2 PITCH DEPTH ($00~$7F:0~600[cent])
n90:CAf LFO2 TVF DEPTH ($00~$7F:0~2400[cent])
n91:CAf LFO2 TVA DEPTH ($00~$7F:0~100.0[%])
n92:PAf PITCH CONTROL ($28~$58:-24~+24[semitone])
n93:PAf TVF CUTOFF CONTROL ($00~$7F:-9600~+9600[CENT])
n94:PAf AMPLITUDE CONTROL ($00~$7F:-100.0~+100.0[%])
n95:PAf LFO1 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n96:PAf LFO1 PITCH DEPTH ($00~$7F:0~600[cent])
n97:PAf LFO1 TVF DEPTH ($00~$7F:0~2400[cent])
n98:PAf LFO1 TVA DEPTH ($00~$7F:0~100.0[%])
n99:PAf LFO2 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n100:PAf LFO2 PITCH DEPTH ($00~$7F:0~600[cent])
n101:PAf LFO2 TVF DEPTH ($00~$7F:0~2400[cent])
n102:PAf LFO2 TVA DEPTH ($00~$7F:0~100.0[%])
n103:CC1 PITCH CONTROL ($28~$58:-24~+24[semitone])
n104:CC1 TVF CUTOFF CONTROL ($00~$7F:-9600~+9600[CENT])
n105:CC1 AMPLITUDE CONTROL ($00~$7F:-100.0~+100.0[%])
n106:CC1 LFO1 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n107:CC1 LFO1 PITCH DEPTH ($00~$7F:0~600[cent])
n108:CC1 LFO1 TVF DEPTH ($00~$7F:0~2400[cent])
n109:CC1 LFO1 TVA DEPTH ($00~$7F:0~100.0[%])
n110:CC1 LFO2 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n111:CC1 LFO2 PITCH DEPTH ($00~$7F:0~600[cent])
n112:CC1 LFO2 TVF DEPTH ($00~$7F:0~2400[cent])
n113:CC1 LFO2 TVA DEPTH ($00~$7F:0~100.0[%])
n114:CC2 PITCH CONTROL ($28~$58:-24~+24[semitone])
n115:CC2 TVF CUTOFF CONTROL ($00~$7F:-9600~+9600[CENT])
n116:CC2 AMPLITUDE CONTROL ($00~$7F:-100.0~+100.0[%])
n117:CC2 LFO1 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n118:CC2 LFO1 PITCH DEPTH ($00~$7F:0~600[cent])
n119:CC2 LFO1 TVF DEPTH ($00~$7F:0~2400[cent])
n120:CC2 LFO1 TVA DEPTH ($00~$7F:0~100.0[%])
n121:CC2 LFO2 RATE CONTROL ($00~$7F:-10.0~+10.0[Hz])
n122:CC2 LFO2 PITCH DEPTH ($00~$7F:0~600[cent])
n123:CC2 LFO2 TVF DEPTH ($00~$7F:0~2400[cent])
n124:CC2 LFO2 TVA DEPTH ($00~$7F:0~100.0[%])
n125:TONE MAP NUMBER (0:SELECTED,1:SC55,2:SC88)
n126:TONE MAP0 NUMBER (1:SC55,2:SC88)
n127:EQ ON/OFF (0:OFF,1:ON)
(SC88VLマニュアルp79~p81参照)
例
.SC88_PART_SETUP 16 {17,1,1,1}
----------------------------------------
●SC88のドラム・セットアップ設定
.SC88_DRUM_SETUP map,key,id,if {n1,n2,...,n9} *
・map:0,1
・key:0-127
・id:0-127
・if:$01~$04
・n1~n8:0-127
MIDIポートifに接続されたSC88のドラム・セットアップの設定を行う。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
mapはマップナンバーを表し設定範囲は0,1。
keyはノートナンバーを表し設定範囲は0≦key≦127。
idはSC88のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n9)は9個まで任意の個数設定可能。
n1:PLAY KEY NUMBER (0~127)
n2:LEVEL (0~127)
n3:ASSIGN GROUP NUMBER (0:NON,1~127)
n4:PANPOT (0:RANDOM,0(LEFT)~64~127(RIGHT))
n5:REVERB DEPTH (0~127:0.0~1.0)
n6:CHORUS DEPTH (0~127:0.0~1.0)
n7:Rx NOTE OFF (0~1:OFF/ON)
n8:Rx NOTE ON (0~1:OFF/ON)
n9:DELAY SEND LEVEL (0-127:0.0~1.0)
(SC88VLマニュアルp82参照)
例
.SC88_DRUM_SETUP $10 {42,127,0,64,64,64,1,1,24}
----------------------------------------
●SC88のドラムセット名の設定
.SC88_DRUM_NAME map,id,if str
・map:0,1 または USER65,USER66
・id:0-127
・if:$01~$04
・str:文字列
MIDIポートifに接続されたSC88のドラムセット名の設定を行う。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
mapはマップナンバーを表し設定範囲は0,1。ユーザードラムセットの名前を設定する
場合にはUSER65,またはUSER66という文字列を与えて指定する。
idはSC88のデバイスIDで省略可能、省略時は$10。
strはドラセット名を表す文字列で、"~"で括り12文字以内で指定する。
(SC88マニュアルp82参照)
例
.SC88_DRUM_NAME USER66,$10 "USER SET"
----------------------------------------
●SC88ユーザー音色の設定
.SC88_USER_INST bk,pgm,id,if {n1,n2,...,n11} *
・bk:0-1
・pgm:1-128
・id:0-127
・if:$01~$04
・n1~n11:下記参照
MIDIポートifに接続されたSC88ユーザー音色の設定を行う。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
bkは設定先音色バンク番号を表し、設定範囲は0,1。bk=0がバリエーション番号64,
bk=1がバリエーション番号65に対応する。
pgmは設定先音色番号で、設定範囲は1~128。
idはSC88のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n11)は11個まで任意の個数設定可能。
n1:SOURCE TONE#(MAP) (1,2)
n2:BANK NUMBER MSB (0~127)
n3:PROGRAM NUMBER (1~128)
n4:Vibrato rate ($00~$7f:-64~+63)
n5:Vibrato depth ($00~$7f:-64~+63)
n6:TVF cutoff freq. ($00~$7f:-64~+63)
n7:TVF resonance ($00~$7f:-64~+63)
n8:TVF&TVA Env.attack ($00~$7f:-64~+63)
n9:TVF&TVA Env.decay ($00~$7f:-64~+63)
n10:TVF&TVA Env.release ($00~$7f:-64~+63)
n11:Vibrato delay ($00~$7f:-64~+63)
(SC88VLマニュアルp82参照)
例
.SC88_USER_INST 0,4,$10 {1,0,10,64,64,64,64,64,64,64,64}
----------------------------------------
●SC88のユーザードラムセットの設定
.SC88_USER_DRUM st,nt,id,if {n1,n2,...,n12} *
・st:0-1
・nt:0-127
・id:0-127
・if:$01~$04
・n1~n12:下記参照
MIDIポートifに接続されたSC88のユーザードラムセットの設定を行う。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
stは設定先ドラムセット番号で設定範囲は0,1。st=0がドラムセット番号65、
st=1がドラムセット番号66に対応する。
ntは登録先ノート番号で設定範囲は0-127。
idはSC88のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n12)は12個まで任意の個数設定可能。
n1:PLAY KEY NUMBER (0~127)
n2:LEVEL (0~127)
n3:ASSIGN GROUP NUMBER (0:NON,1~127)
n4:PANPOT (0:RANDOM,01(LEFT)~64~127(RIGHT))
n5:REVERB DEPTH (0~127:0.0~1.0)
n6:CHORUS DEPTH (0~127:0.0~1.0)
n7:Rx NOTE OFF (0~1:OFF/ON)
n8:Rx NOTE ON (0~1:OFF/ON)
n9:DELAY SEND LEVEL (0-127:0.0~1.0)
n10:SOURCE DRUM SET#(MAP) (1-2)
n11:PROGRAM NUMBER (0-127)
n12:SOURCE NOTE NUMBER (0-127)
(SC88VLマニュアルp82参照)
例
.SC88_USER_DRUM 0,32,$10 {24,127,0,64,10,10,0,1,10,1,10,24}
----------------------------------------
■MT32/CM32L/CM64/CM500専用命令
----------------------------------------
●MT32の初期化
.MT32_INIT id,if
.MT32_RESET id,if
・id:0-127
・if:$01~$04
MIDIポートifに接続されたMT32の初期化を行なう
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはMT32のデバイスIDで省略可能、省略時は$10。
例
.MT32_INIT $10
----------------------------------------
●MT32の各パートのパーシャルリザーブ
.MT32_P_RESERVE id,if {n1,n2,…,n9} *
.MT32_PARTIAL_RESERVE id,if {n1,n2,…,n9} *
・id:0-127
・if:$01~$04
・n1~n9:0-127
MIDIポートifに接続されたMT32の各パートのパーシャルリザーブを行う。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはMT32のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n9)は必ず9個なければならない。パラメータ各値の総和は32以内。
n1~n8はパート1~8のパーシャルリザーブ値に対応し、n9はリズムパートに対応する。
例
.MT32_PARTIAL_RESERVE $10 {2,2,2,2,0,0,1,2,4}
----------------------------------------
●MT32リバーブパラメータの設定
.MT32_REVERB id,if {n1,n2,n3} *
・id:0-127
・if:$01~$04
・n1~n3:0-127
MIDIポートifに接続されたMT32のリバーブパラメータを設定する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはMT32のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n3)は3個まで任意の個数設定可能。
n1:REVERB MODE (0:Room,1:Hall,2:Plate,3:Tap Delay)
n2:REVERB TIME (0~7)
n3:REVERB LEVEL (0~7)
(MT32マニュアルp35, CM64マニュアルp30参照)
例
.MT32_REVERB $10 {3,3,5}
----------------------------------------
●MT32各パートのMIDIチャンネル設定
.MT32_PART_SETUP id,if {n1,n2,…,n9} *
・id:0-127
・if:$01~$04
・n1~n9:0-127
MIDIポートifに接続されたMT32の各パートのMIDIチャンネルを設定する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはMT32のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n9)は9個まで任意の個数設定可能。
n1~n8はパート1~8のMIDIチャンネル値に対応し、n9はリズムパートに対応する。
パラメータ(n1~n9)はMIDIチャンネル値なので1~16まで有効。
ただし、0あるいは17以上を与えた場合はそのパートを無効(OFF)とみなす。
(MT32マニュアルp35, CM64マニュアルp30参照)
例
.MT32_PART_SETUP $10 {2,3,4,5,6,7,8,9,10}
----------------------------------------
●MT32リズムキットの設定
.MT32_DRUM_SETUP n,id,if {n1,n2,n3,n4} *
.MT32_RHYTHM_SETUP n,id,if {n1,n2,n3,n4} *
・n:24~87
・id:0-127
・if:$01~$04
MIDIポートifに接続されたMT32のリズムキットの設定を変更する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
nは変更対象ノートナンバーを表し、設定範囲は24≦n≦87。
idはMT32のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n4)は4個まで任意の個数設定可能。
n1:TIMBRE (0~63:i1~64,64~127:r1~64)
n2:OUTPUT LEVEL (0~100)
n3:PANPOT (0~14)
n4:REVERB SWITCH (0~1:OFF/ON)
(MT32マニュアルp35, CM64マニュアルp30参照)
例
.MT32_DRUM_SETUP 24,$10 {10,100,12,1}
----------------------------------------
●MT32コモンパラメータの設定
.MT32_COMMON n,id,if {str,n1,n2,n3,n4} *
・n:1-64
・id:0-127
・if:$01~$04
・str:文字列
・n1~n4:0-127
MIDIポートifに接続されたMT32の音色のコモンパラメータを設定する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
nは設定対象ティンバー番号で、設定範囲は1~64。
idはMT32のデバイスIDで省略可能、省略時は$10。
strは音色名で、"~"で括り、10文字以内(省略不可)の文字列で指定する。
パラメータ(n1~n4)は4個まで任意の個数設定可能。
n1:Structure of Partial#1&2 (0~12:1~13)
n2:Structure of Partial#3&4 (0~12:1~13)
n3:PARTIAL MUTE (0~15)
n4:ENV MODE (0~1:NORMAL,NO SUSTAIN)
(MT32マニュアルp34, CM64マニュアルp29参照)
例
.MT32_COMMON 1,$10 {1,1,0,0}
----------------------------------------
●MT32パーシャルパラメータの設定
.MT32_PARTIAL n,p,id,if {n1,n2,…,n58} *
・n:1-64
・p:1-4
・id:0-127
・if:$01~$04
・n1~n58:0-127
MIDIポートifに接続されたMT32の音色のパーシャルパラメータを設定する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
nは設定対象ティンバー番号で設定範囲は1≦n≦64。
pは設定対象パーシャルナンバーで設定範囲は1≦p≦4。
idはMT32のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n58)は58個まで任意の個数設定可能。
n1:WG PITCH COARSE (0~96:C1,C#1,~,C9)
n2:WG PITCH FINE (0~100:-50~+50)
n3:WG PITCH KEYFOLLOW (0~16:-1,-1/2,-1/4,0,1/8,1/4,
3/8,1/2,5/8,3/4,7/8,1,
5/4,3/2,2,s1,s2)
n4:WG PITCH BENDER SW (0~1:OFF/ON)
n5:WG WAVEFORM/PCM BANK (0~3:SQU1,SAW1,SQU2,SAW2)
n6:WG PCM WAVE (0~127:1~128)
n7:WG PULSE WIDTH (0~100)
n8:WG PW VELO SENS (0~14:-7~+7)
n9:P-ENV DEPTH (0~10)
n10:P-ENV VELO SENS (0~3)
n11:P-ENV TIME KEYF (0~4)
n12:P-ENV TIME 1 (0~100)
n13:P-ENV TIME 2 (0~100)
n14:P-ENV TIME 3 (0~100)
n15:P-ENV TIME 4 (0~100)
n16:P-ENV LEVEL 0 (0~100:-50~+50)
n17:P-ENV LEVEL 1 (0~100:-50~+50))
n18:P-ENV LEVEL 2 (0~100:-50~+50)
n19:P-ENV SUSTAIN LEVEL (0~100:-50~+50)
n20:END LEVEL (0~100:-50~+50)
n21:P-LFO RATE (0~100)
n22:P-LFO DEPTH (0~100)
n23:P-LFO MOD SENS (0~100)
n24:TVF CUTOFF FREQ (0~100)
n25:TVF RESONANCE (0~30)
n26:TVF KEYFOLLOW (0~14:-1,-1/2,-1/4,0,1/8,1/4,
3/8,1/2,5/8,3/4,7/8,1,
5/4,3/2,2)
n27:TVF BIAS POINT/DIR (0~127)
n28:TVF BIAS LEVEL (0~14:-7~+7)
n29:TVF ENV DEPTH (0~100)
n30:TVF ENV VELO SENS (0~100)
n31:TVF ENV DEPTH KEYF (0~4)
n32:TVF ENV TIME KEYF (0~4)
n33:TVF ENV TIME 1 (0~100)
n34:TVF ENV TIME 2 (0~100)
n35:TVF ENV TIME 3 (0~100)
n36:TVF ENV TIME 4 (0~100)
n37:TVF ENV TIME 5 (0~100)
n38:TVF ENV LEVEL 1 (0~100)
n39:TVF ENV LEVEL 2 (0~100)
n40:TVF ENV LEVEL 3 (0~100)
n41:TVF ENV SUSTAIN LEVEL (0~100)
n42:TVA LEVEL (0~100)
n43:TVA VELO SENS (0~100:-50~+50
n44:TVA BIAS POINT 1 (0~127)
n45:TVA BIAS LEVEL 1 (0~12:-12~0)
n46:TVA BIAS POINT 2 (0~127)
n47:TVA BIAS LEVEL 2 (0~12:-12~0)
n48:TVA ENV TIME KEYF (0~4)
n49:TVA ENV TIME V_FOLLOW (0~4)
n50:TVA ENV TIME 1 (0~100)
n51:TVA ENV TIME 2 (0~100)
n52:TVA ENV TIME 3 (0~100)
n53:TVA ENV TIME 4 (0~100)
n54:TVA ENV TIME 5 (0~100)
n55:TVA ENV LEVEL 1 (0~100)
n56:TVA ENV LEVEL 2 (0~100)
n57:TVA ENV LEVEL 3 (0~100)
n58:TVA ENV SUSTAIN LEVEL (0~100)
(MT32マニュアルp34, CM64マニュアルp29参照)
例
.MT32_PARTIAL 1,1,$10 {64,50,11,1,1,127,50,7}
----------------------------------------
●MT32パッチの設定
.MT32_PATCH n,id,if {n1,n2,…,n7} *
・n:1-128
・id:0-127
・if:$01~$04
・n1~n7:0-127
MIDIポートifに接続されたMT32のパッチを設定する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
nは設定対象パッチナンバーで、設定範囲は1≦n≦128。
idはMT32のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n7)は7個まで任意の設定個数設定可能。
n1:TIMBRE GROUP (0~3:a,b,i,r)
n2:TIMBRE NUMBER (0~63)
n3:KEY SHIFT (0~48:-24~+24)
n4:FINE TUNE (0~100:-50~+50)
n5:BENDER RANGE (0~24)
n6:ASSIGN MODE (0~3:POLY1~4)
n7:REVERB SWITCH (0~1:OFF/ON)
(MT32マニュアルp35, CM64マニュアルp30参照)
例
.MT32_PATCH 1,$10 {0,0,0,50,12,1,1}
----------------------------------------
●MT32コンソール文字列表示
.MT32_PRINT id,if str
・id:0-127
・if:$01~$04
・str:文字列
MIDIポートifに接続されたMT32のコンソールに文字列を表示する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはMT32のデバイスIDで省略可能、省略時は$10。
strは文字列で、"~"でくくり20文字以内で指定する。
(MEASURE3 zm_mt32_print()参照)
例
.MT32_PRINT $10 "HELLO!"
----------------------------------------
■U220/U20専用命令
----------------------------------------
●U220セットアップパラメータの設定
.U220_SETUP id,if {n1,n2,…,n7} *
・id:0-127
・if:$01~$04
・n1~n7:0-127
MIDIポートifに接続されたU220のセットアップパラメータを設定する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはU220のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n7)は必ず7個指定しなければならない。
n1:Chorus SW (0~1:OFF/ON)
n2:Reverb SW (0~1:OFF/ON)
n3:Rx Cntrl Channel (1~17:1~16,OFF)
n4:Patch Change (0~5:MAP1~MAP4,Dir,OFF)
n5:Timbre Change (0~5:MAP1~MAP4,Dir,OFF)
n6:Rhythm Change (0~5:MAP1~MAP4,Dir,OFF)
n7:R.Inst Assign (0~5:MAP1~MAP4,Dir,OFF)
(U220マニュアルp46,p146,p148)
例
.U220_SETUP $10 {1,1,1,5,4,4,4}
----------------------------------------
●U220パートパラメータの設定
.U220_PART_SETUP pt,id,if {n1,n2,…,n13} *
・pt:1-6
・id:0-127
・if:$01~$04
・n1~n13:0-127
MIDIポートifに接続されたU220のテンポラリ・パッチのパートパラメータを
設定する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
ptはパートナンバーを表し、設定範囲は1≦pt≦6。
idはU220のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n13)は必ず13個指定しなければならない。
n1:Timbre Number (1~128)
n2:Voice Reserve (0~30)
n3:Receive Channel (1~17:1~16,OFF)
n4:Key Range Low (0~127:C-1~G9)
n5:Key Range High (0~127:C-1~G9)
n6:Velo Level (0~1:Above/Below)
n7:Velo Threshold (0~127)
n8:Output Assign (0~4:Dry,Rev,Cho,Dir1,Dir2)
n9:Level (0~127)
n10:Pan (0~15:L7~M~R7)
n11:Rx Volume (0~1:OFF/ON)
n12:Rx Pan (0~1:OFF/ON)
n13:Rx Hold (0~1:OFF/ON)
(U220マニュアルp58,p149参照)
例
.U220_PART_SETUP 1,$10 {1,3,1,0,127,1,127,0,0,8,0,0,0}
----------------------------------------
●U220コモンパラメータの設定
.U220_COMMON id,if {n1,n2,…,n18}
・id:0-127
・if:$01~$04
・n1~n18:0-127
MIDIポートifに接続されたU220のテンポラリ・パッチのコモンパラメータを
設定する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはU220のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n18)は必ず18個指定しなければならない。
n1:Chorus Type (0~4:Chorus1,Chorus2,FB-Chorus,
Flanger,Short Delay)
n2:Chorus Out Mode (0~1:Pre Rev,Post Rev)
n3:Chorus Level (0~31)
n4:Chorus Delay (0~31)
n5:Chorus Rate (0~31)
n6:Chorus Depth (0~31)
n7:Chorus Feedback (1~63:-31~0~+31)
n8:Reverb Type (0~7:Room1~3,Hall1~2,Gate
Delay,CrossDelay)
n9:Reverb Time (0~31)
n10:Reverb Level (0~31)
n11:Reverb Delay Feedback (0~31)
n12:Reverb Pre Delay Feedback (0~31)
n13:Param1 # (0~63:0~5,7~31,64~95,OFF)
n14:Param1 Param (0:Timbre Level,1:Env Attack
2:Env Decay,3:Env Sustain
4:Env Release,5:A.Bend Depth
6:A.Bend Rate,7:Detune Depth
8:Vib Rate,9:Vib Wave Form
10:Vib Depth,11:Vib Delay
12:Vib Rise Time,13:Vib Mod Depth
14:Chorus Level,15:Chorus Rate
16:Chorus Feedback,17:Reverb Level
18:Delay Feedback)
n15:Param2 # (Same as Param1 #)
n16:Param2 Param (Same as Param1 Param)
n17:Param3 # (Same as Param1 #)
n18:Param3 Param (Same as Param1 Param)
(U220マニュアルp54,p149参照)
例
.U220_COMMON $10 {0,1,20,20,20,20,32,0,2,2,2,2,63,0,63,0,63,0}
----------------------------------------
●U220音色パラメータ設定
.U220_TIMBRE n,id,if {str,n1,n2,…,n26} *
・n:1-128
・id:0-127
・if:$01~$04
・str:文字列
・n1~n26:0-127
MIDIポートifに接続されたU220に音色パラメータを設定する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
nは登録先音色番号を表し、設定範囲は1≦n≦128。
idはU220のデバイスIDで省略可能、省略時は$10。
strは音色名を表す文字列で、"~"で括り、12文字以内で指定する。
パラメータ(n1~n26)は必ず26個指定しなければならない。
n1:Tone Media (0~31:I,1~31)
n2:Tone Number (1~128)
n3:Timbre Level (0~127)
n4:Velocity Sens (1~15:-7~+7)
n5:Channel Press Sens (1~15:-7~+7)
n6:Env Attack Rate (1~15:-7~+7)
n7:Env Decay Rate (1~15:-7~+7)
n8:Env Sustain Level (1~15:-7~+7)
n9:Env Release Rate (1~15:-7~+7)
n10:Pitch Shift Coarse (8~56:-24~+24)
n11:Pitch Shift Fine (14~114:-50~+50)
n12:Bend Range Lower (0~15:-36,-24,-12~0)
n13:Bend Range Upper (0~12)
n14:Channel After Sens (0~27:-36,-24,-12~+12)
n15:Poly After Sens (0~27:-36,-24,-12~+12)
n16:Auto Bend Depth (0~27:-36,-24,-12~+12)
n17:Auto Bend Rate (0~15)
n18:Detune Depth (0~15)
n19:Rate (0~63)
n20:Waveform (0~8)
n21:Depth (0~15)
n22:Delay (0~15)
n23:Rise Time (0~15)
n24:Modulation Depth (0~15)
n25:Ch After Sens (0~15)
n26:Poly After Sens (0~15)
(U220マニュアルp72,p149参照)
例
.U220_TIMBRE 1,$10 {"SYNTHE-2",
0,1,127,8,8,8,8,8,8,32,64,2,2,
14,14,14,0,0,0,0,0,0,0,0,0,0
}
----------------------------------------
●U220ドラム・パラメータの設定
.U220_DRUM_SETUP id,if {n1,n2,…,n7} *
・id:0-127
・if:$01~$04
・n1~n7:0-127
MIDIポートifに接続されたU220のテンポラリ・パッチのドラム・パラメータを
設定する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはU220のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n7)は必ず7個指定しなければならない。
n1:Rhythm Setup # (0~3:1~4)
n2:Voice Reserve (0~30)
n3:Receive Channel (1~17:1~16,OFF)
n4:Level (0~127)
n5:Level Boost Sw (0~1:OFF/ON)
n6:Rx Volume (0~1:OFF/ON)
n7:Rx Hold (0~1:OFF/ON)
(U220マニュアルp63,p149参照)
例
.U220_DRUM_SETUP $10 {0,5,10,127,0,1,0}
----------------------------------------
●U220ドラムセット・ノートパラメータの設定
.U220_DRUM_INST n,id,if {n1,n2,…,n20} *
・n:35-99
・id:0-127
・if:$01~$04
・n1~n20:0-127
MIDIポートifに接続されたU220のテンポラリ・ドラムセットの各ノートにおける
パラメータを設定する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
nは設定先のノート番号で、設定範囲は35≦n≦99。
idはU220のデバイスIDで省略可能、省略時は$10。
パラメータ(n1~n20)は20個以内任意の個数設定可能。
n1:Tone Media (0~31:I,1~31)
n2:Tone Number (1~128)
n3:Source Key (0~127:C-1~G9)
n4:Mute Inst (34~98:OFF,B1~D7)
n5:Inst Level (0~31)
n6:Velocity Sens (0~15)
n7:Env Mode (0~1:Sustain,No Sustain)
n8:Env Attack Rate (1~15:-7~+7)
n9:Env Decay Rate (1~15:-7~+7)
n10:Env Release Rate (1~15:-7~+7)
n11:Pitch Shift Coarse (0~27:-36,-24,-12~+12)
n12:Pitch Shift Fine (14~114:-50~+50)
n13:Channel After Sens (0~27:-36,-24,-12~+12)
n14:Poly After Sens (0~27:-36,-24,-12~+12)
n15:Random (0~15)
n16:Auto Bend Depth (0~27:-36,-24,-12~+12)
n17:Auto Bend Rate (0~15)
n18:Detune Depth (0~15)
n19:Output Assign (0~3:Dry,Rev,Cho,Dir1)
n20:Pan (0~15:L7~M~R7)
(U220マニュアルp72,p149参照)
例
.U220_DRUM_INST 42,$10 {0,1,24,34,31,
15,1,8,8,8,14,64,14,14,
0,14,0,0,0,8}
----------------------------------------
●U220ディスプレイ文字列表示
.U220_PRINT id,if str
・id:0-127
・if:$01~$04
・str:文字列
MIDIポートifに接続されたU220のディスプレイに文字列を表示する。
具体的にはU220のテンポラリ・パッチの名前を設定することで行う。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはU220のデバイスIDで省略可能、省略時は$10。
strは表示文字列を表し、"~"で括り、12文字以内で指定する。
例
.U220_PRINT $10 "APPLE TREE"
----------------------------------------
■M1/M1EX/M1R/M1REX専用命令
----------------------------------------
●M1受信チャンネル設定
.M1_SETUP {ch1,ch2,…,ch8} *
.M1_MIDI_CH {ch1,ch2,…,ch8} *
・ch1~ch8:1-16
M1のSEQ0の各パートの受信チャンネルを設定する。
パラメータ(ch1~ch8)は必ず8個指定しなければならない。設定範囲は1≦chi≦17で
1~16はMIDIチャンネルの1~16を表し、17は「そのパートは受信しない」を意味する
設定となる。
n1:パート1の受信MIDIチャンネル
n2:パート1の受信MIDIチャンネル
:
:
n8:パート1の受信MIDIチャンネル
例
.M1_SETUP {1,2,3,4,5,6,17,10}
----------------------------------------
●M1パートパラメータの設定
.M1_PART_SETUP {n1,n2,…,n40} *
・n1~n40:
M1のSEQ0の各パートのパラメータを設定する。
パラメータ(n1~n40)は必ず40個(5×8パート分)設定しなければならない。
PART 1
n1:PROGRAM NUMBER (0~199:I00~C99)
n2:OUTPUT LEVEL (0~99)
n3:KEY TRANSPOSE ($F4~$0C:-12~12)
n4:DETUNE ($CE~$32:-50~+50)
n5:PAN (0~13:10:0~0:10,C,C+D,D)
PART 2~8(n6~n40)以下同様の書式構成
(M1マニュアルp126参照)
例
.M1_PART_SETUP {0,99,0,0,5
0,99,0,0,5
0,99,0,0,5
0,99,0,0,5
0,99,0,0,5
0,99,0,0,5
0,99,0,0,5
0,99,0,0,5
}
----------------------------------------
●M1エフェクトパラメータの設定
.M1_EFFECT_SETUP {n1,n2,…,n25} *
・n1~n25:
M1のSEQ0のエフェクトパラメータの設定を行う。
パラメータ(n1~n25)は必ず25個指定しなければならない。
n1:Effect 1 Pattern No. (0~33:1~32,Thru)
n2:Effect 2 Pattern No. (0~33:1~32,Thru)
n3:Effect 1 L-Ch E.Balnc (0~100)
n4:Effect 1 R-Ch E.Balnc (0~100)
n5:Effect 2 L-Ch E.Balnc (0~100)
n6:Effect 2 R-Ch E.Balnc (0~100)
n7:Output 3 Pan (0~101:OFF,100:0~0:100)
n8:Output 4 Pan (0~101:OFF,100:0~0:100)
n9:Effect I/O (BIT0:Effect 1 L-Ch 0=OFF/1=ON
BIT1:Effect 1 R-Ch 0=OFF/1=ON
BIT2:Effect 2 L-Ch 0=OFF/1=ON
BIT3:Effect 2 R-Ch 0=OFF/1=ON)
BIT4:Effect 2 0=PARALLEL/1=SERIAL)
n10~n17:Effect 1 Parameter
n18~n25:Effect 2 Parameter
Structure of Effect Parameter
(ofs=10 or 18)
1~3:Hall (4,5:Room,6:Live Stage)
n(ofs+0):Reverb Time (0~97:0.2~9.9),(0~48:0.2~5.0)
n(ofs+1):Dummy 0
n(ofs+2):High Damp (0~99)
n(ofs+3):Pre Delay (0~200)
n(ofs+4):E/R Level (0~99)
n(ofs+5):Dummy 0
n(ofs+6):EQ High ($F4~$0C:-12~+12)
n(ofs+7):EQ Low ($F4~$0C:-12~+12)
7~9:Early Reflection 1,2,3
n(ofs+0):E/R Time (0~70:100~800)
n(ofs+1):Pre Delay (0~200)
n(ofs+2):Dummy 0
: :
n(ofs+5):Dummy 0
n(ofs+6):EQ High ($F4~$0C:-12~+12)
n(ofs+7):EQ Low ($F4~$0C:-12~+12)
10:Stereo Delayt,11:Cross Delay
n(ofs+0):Delay Time L (L) (0~500)
n(ofs+1):Delay Time L (H)
n(ofs+2):Feedback ($9D~$63:-99~99)
n(ofs+3):High Damp (0~99)
n(ofs+4):Delay Time R (L) (0~500)
n(ofs+5):Delay Time R (H)
n(ofs+6):EQ High ($F4~$0C:-12~+12)
n(ofs+7):EQ Low ($F4~$0C:-12~+12)
12~13:Stereo Chorus 1~2 (14~15:Flanger)
n(ofs+0):Depth (0~99)
n(ofs+1):Speed (0~99:0.03~3.00 0.03step
100~199:3.1~13.0 0.1step
200~216:14.0~30.0 1.0step)
n(ofs+2):LFO Status (BIT0:Waveform =0:Sin,=1:Tri
BIT1:Phase =0:0.0゚,=1:180゚
BIT2:Wave Shape =0:Normal
=1:for Flanger)
n(ofs+3):Feedback ($9D~$63:-99~+99)
n(ofs+4):Delay Time (0~200),(0~50)
n(ofs+5):Dummy 0
n(ofs+6):EQ High ($F4~$0C:-12~+12)
n(ofs+7):EQ Low ($F4~$0C:-12~+12)
16~17:Phase Shifter 1~2
n(ofs+0):Depth (0~99)
n(ofs+1):Speed (0~99:0.03~3.00 0.03step
100~199:3.1~13.0 0.1step
200~216:14.0~30.0 1.0step)
n(ofs+2):LFO Status (BIT0:Waveform =0:Sin,=1:Tri
BIT1:Phase =0:0.0゚,=1:180゚
BIT2:Wave Shape =0:Normal
=1:for Flanger)
n(ofs+3):Feedback ($9D~$63:-99~+99)
n(ofs+4):Manual (0~99)
n(ofs+5):Dummy 0
n(ofs+6):Dummy 0
n(ofs+7):Dummy 0
18~19:Stereo Toremolo 1~2
n(ofs+0):Depth (0~99)
n(ofs+1):Speed (0~99:0.03~3.00 0.03step
100~199:3.1~13.0 0.1step
200~216:14.0~30.0 1.0step)
n(ofs+2):LFO Status (BIT0:Waveform =0:Sin,=1:Tri
BIT1:Phase =0:0.0゚,=1:180゚
BIT2:Wave Shape =0:Normal
=1:for Flanger)
n(ofs+3):Shape ($9D~$63:-99~+99)
n(ofs+4):Dummy 0
n(ofs+5):Dummy 0
n(ofs+6):EQ High ($F4~$0C:-12~+12)
n(ofs+7):EQ Low ($F4~$0C:-12~+12)
20:Equalizer
n(ofs+0):Dummy 0
: :
n(ofs+3):Dummy 0
n(ofs+4):Low fc (0~2:0.25k,0.50k,1.00k)
n(ofs+5):High fc (0~2:1k,2k,4k)
n(ofs+6):High Gain ($F4~$0C:-12~+12)
n(ofs+7):Low Gain ($F4~$0C:-12~+12)
21:Overdrive
n(ofs+0):Dummy 0
n(ofs+1):Dummy 0
n(ofs+2):Drive (0~99)
n(ofs+3):Level (0~99)
n(ofs+4):Dummy 0
n(ofs+5):Dummy 0
n(ofs+6):EQ High ($F4~$0C:-12~+12)
n(ofs+7):EQ Low ($F4~$0C:-12~+12)
22:Distortion
n(ofs+0):Dummy 0
n(ofs+1):Dummy 0
n(ofs+2):Distortion (0~99)
n(ofs+3):Level (0~99)
n(ofs+4):Dummy 0
n(ofs+5):Dummy 0
n(ofs+6):Dummy 0
n(ofs+7):EQ Low Gain ($F4~$0C:-12~+12)
23:Exciter
n(ofs+0):Blend ($9D~$63:-99~+99)
n(ofs+1):Emphatic Point (0~9:1~10)
n(ofs+2):Dummy 0
: :
n(ofs+5):Dummy 0
n(ofs+6):EQ High ($F4~$0C:-12~+12)
n(ofs+7):EQ Low ($F4~$0C:-12~+12)
24:Synphonic Ensamble
n(ofs+0):Depth (0~99)
n(ofs+1):Dummy 0
: :
n(ofs+5):Dummy 0
n(ofs+6):EQ High ($F4~$0C:-12~+12)
n(ofs+7):EQ Low ($F4~$0C:-12~+12)
25:Roteffect Speaker
n(ofs+0):Depth (0~99)
n(ofs+1):Dummy 0
n(ofs+2):Speed Rate ($F6~$0A:-10~+10)
n(ofs+3):Dummy 0
: :
n(ofs+7):Dummy 0
26:Delay/Hall
n(ofs+0):Delay Time (L) (0~500)
n(ofs+1):Delay Time (H)
n(ofs+2):Feedback ($9D~$63:-99~99)
n(ofs+3):High Damp (0~99)
n(ofs+4):Reverb Time (0~97:0.2~9.9)
n(ofs+5):Dummy 0
n(ofs+6):High Damp (0~99)
n(ofs+7):Pre Delay (0~150)
27:Delay/Room
n(ofs+0):Delay Time (L) (0~500)
n(ofs+1):Delay Time (H)
n(ofs+2):Feedback ($9D~$63:-99~99)
n(ofs+3):High Damp (0~99)
n(ofs+4):Reverb Time (0~97:0.2~9.9)
n(ofs+5):Dummy 0
n(ofs+6):High Damp (0~99)
n(ofs+7):Pre Delay (0~150)
28:Delay/Early Reflection
n(ofs+0):Delay Time (L) (0~500)
n(ofs+1):Delay Time (H)
n(ofs+2):Feedback ($9D~$63:-99~99)
n(ofs+3):High Damp (0~99)
n(ofs+4):E/R Time (0~30:100~400)
n(ofs+5):Pre Delay (0~150)
n(ofs+6):Dummy 0
n(ofs+7):Dummy 0
29:Delay/Chorus
n(ofs+0):Delay Time L (L) (0~500)
n(ofs+1):Delay Time L (H)
n(ofs+2):Feedback L ($9D~$63:-99~99)
n(ofs+3):High Damp L (0~99)
n(ofs+4):Delay Time R (L) (0~500)
n(ofs+5):Delay Time R (H)
n(ofs+6):Feedback R ($9D~$63:-99~99)
n(ofs+7):High Damp R (0~99)
30:Delay/Chorus (31:Delay Flanger)
n(ofs+0):Delay Time (L) (0~500)
n(ofs+1):Delay Time (H)
n(ofs+2):Feedback ($9D~$63:-99~99)
n(ofs+3):High Damp (0~99)
n(ofs+4):Depth (0~99)
n(ofs+5):Speed (0~99:0.03~3.00 0.03step
100~199:3.1~13.0 0.1step
200~216:14.0~30.0 1.0step)
n(ofs+6):LFO Status (BIT0:Waveform =0:Sin,=1:Tri
BIT1:Phase =0:0.0゚,=1:180゚
BIT2:Wave Shape =0:Normal
=1:for Flanger)
n(ofs+7):Feedback ($9D~$63:-99~99)
32:Delay/Phaser
n(ofs+0):Delay Time (L) (0~500)
n(ofs+1):Delay Time (H)
n(ofs+2):Feedback ($9D~$63:-99~99)
n(ofs+3):High Damp (0~99)
n(ofs+4):Depth (0~99)
n(ofs+5):Speed (0~99:0.03~3.00 0.03step)
n(ofs+6):Feedback ($9D~$63:-99~99)
n(ofs+7):Dummy 0
33:Delay/Tremolo
n(ofs+0):Delay Time (L) (0~500)
n(ofs+1):Delay Time (H)
n(ofs+2):Feedback ($9D~$63:-99~99)
n(ofs+3):High Damp (0~99)
n(ofs+4):Depth (0~99)
n(ofs+5):Speed (0~99:0.03~3.00 0.03step)
n(ofs+6):Dummy 0
n(ofs+7):Shape ($9D~$63:-99~99)
(M1マニュアルp127参照)
例
.M1_EFFECT_SETUP {1,3,50,50,50,50,50,50,%11111,
50,0,50,100,50,0,0,0,50,0,50,
100,50,0,0,0
}
----------------------------------------
●M1ディスプレイ文字列表示
.M1_PRINT str
・str:文字列
M1のディスプレイに文字列を表示する。具体的にはM1のSEQ0のソングネーム
の設定をすることで行う。
strは表示文字列で、"~"で括り、10文字以内で指定する。
例
.M1_PRINT "MY WAY"
----------------------------------------
●M1へ設定を送信する
.SEND_TO_M1 id,if
・id:0-127
・if:$01~$04
.M1_SETUP
.M1_PART_SEUP
.M1_EFFECT_SETUP
.M1_PRINT
で設定したパラメータ群をMIDIポートifに接続されたM1へ送信する。
ifの設定範囲は1-4。MIDIインターフェースの個数が少ない場合は4より小さくなる。
ifを省略した場合は.current_midi_outで選択したカレントMIDIポートへ出力される。
idはM1のデバイスIDで省略可能、省略時は$30。
なお、M1のデバイスIDは$30+グローバルチャンネル(0~$f)で求められる。
(グローバルチャンネルとはGLOBALモードのF5-1で設定出来る)
必ず
.M1_SETUP
.M1_PART_SEUP
.M1_EFFECT_SETUP
.M1_PRINT
を設定してからこの命令を実行すること。'.M1_EFFECT_SETUP'のみ省略が可能。
省略時はZMUSICが持つデフォルト設定がM1へ送信され設定されることになる。
.M1_SETUP
.M1_PART_SEUP
.M1_EFFECT_SETUP
.M1_PRINT
の間にM1関係以外のコマンドがあると正常なデータが送信されないので注意
すること。
例
.SEND_TO_M1 $30
----------------------------------------
■波形メモリ
----------------------------------------
●波形メモリの登録
.WAVE_FORM wv,lm,ls,le,lt,comment {d0,d1,d2,…,d4294967295}
.WAVEFORM wv,lm,ls,le,lt,comment {d0,d1,d2,…,d4294967295}
・wv:8-255
・lm:0-2 または 1SHOT,REPEAT,ALTERNATE
・ls:0-4294967295
・le:0-4294967295
・lt:0-4294967295
・comment:文字列
・d0,d1,d2,…,d4294967295
波形メモリを登録する。定義した波形はピッチモジュレーション(MML @M)、
ARCC(MML @A)、エンハンスドベロシティシーケンス(MML [VELOCITY.DEPTH])、
アゴーギク(MML [AGOGIK.DEPTH])にて利用可能。波形は整数で表し、各要素は
離散的な波形構成値とみなされる。
・wv:定義先波形番号
定義先波形番号を指定する。0~7はプリセット波形用に予約されているため
ユーザー定義波形である波形メモリは8~255に定義することになる。
・lm:ループモード
後述するループ領域を度のようにループさせるかを設定する。なおループモード
0~2と実際の波形処理のされ方の対応は以下の通り。0~2はそれぞれ
1SHOT,REPEAT,ALTERNATEといった文字列で指定することも可能。
省略時はlm=0 1SHOTが選択される。
lm数値 lm文字列 動作イメージ
0 1SHOT → 波形を一度実行したら最後の値を継続する
1 REPEAT →→→→.... ループ終点に到達したらループ開始点に戻る
2 ALTERNATE →←→←.... ループ開始点からループ終点まで
交互に反復する
・ls:ループ開始点
ループ開始位置を波形データの何番目にするかを設定する。設定範囲は
0-4294967295。省略時は0が選択される。
・le:ループ終了点
ループ終了位置を波形データの何番目にするかを設定する。設定範囲は
0-4294967295。省略時は最後の波形データの位置が自動設定される。
・lt:ループ回数
ループ領域を何回ループさせるかを設定する。設定範囲は0-4294967295。
なお0は無限ループとして設定される。
・comment:コメント
'{'以外の255文字を用いて波形に対する注釈を与えることが出来る。
・d1~d4294967295:波形データ
波形データは符号付き16ビット整数-32768~+32767で構成する。
最大4294967296個。
波形データは波形を利用する機能の種別に関係無く直値が利用される。
値が大きすぎる時や小さすぎる時は、その効果が現れなかったり
大きすぎたりするため、そういう場合は、振幅制御の命令を駆使する
などして適宜調整する必要がある。
例
.wave_form 8,REPEAT,800,1200,0,ORG_WAVE001 {0,5,-5,10,3,-300,10,6,80,10}
(MEASURE3 zm_set_wave_form1(),zm_set_wave_form2()参照)
----------------------------------------
■マクロ定義
----------------------------------------
●マクロ定義
.DEFINE macro p1,p2,...,p255 { contents } *
・macro:文字列
・p1~p255:文字列
・contents:文字列
マクロ定義を行う。ZMUSICには初めから備わっていないオリジナルのZMSコマンドを
作成したり、頻繁に登場する演奏パターンをコマンド化してZMSを見やすくしたりする
ことが出来る。ただし、定義したマクロの数に応じてコンパイル処理は遅くなる。
(ただし、コンパイルして出来たZMDは通常のZMDと同様の処理速度で演奏される)
マクロ名はmacroで与え、'{'を除く英数字、全角の240文字以内の文字列で与える
ことが出来る。
p1~p255はマクロに与えるパラメータで、%でマクロに与えたいパラメータの
個数だけ、記述する。
contentsはマクロの内容で、任意の文字列を与えることが出来る。p1~p255で
設定したパラメータを内容中に挿入したい時には%を添付する。
例
.define DRUM1 %,%,%,% {
c%d%c%d%
}
%の後ろに数値を付けてパラメータの対応を判り易く記述することも出来るが、
その場合数値指定なしの記述とは混在出来ない。
例
○
.define DRUM1 %1,%2 {
c%2d%1
}
×
.define DRUM1 %1,% {
c%d%2
}
なお、.DEFINE命令には以下のような制限事項がある。
1. マクロ名に全角文字は全文字使えるが、半角文字の場合は英字の
大文字小文字の区別はない。
2. ZMS中のありとあらゆるテキストがマクロ変換対象になる。
3. マクロの変換対象となるソースは親ソースのみで、includeしたファイルや
ADPCM定義ファイルなどのサブ・ファイルはマクロの変換対象にならない。
4.マクロ内容にパラメータに相当しない%記号を用いられない。
たとえば
.define ABC %,%,% {c%d%e%001}
としたとき最後の%001は2進数値とみなされずにマクロパラメータ識別子%と
10進数の'001'としてみなされる。
5. .DEFINE文で与えたパラメータの数とマクロ内容で参照するパラメータの数は
必ず同一でなければならない。たとえば
.define ABC %,%,% {c%d%e}
はエラーとなる。
ただし、使用する時は与えるパラメータが少なくても構わない。足りない
パラメータに付いてはなにも与えないで処理される。たとえば上のような
定義のもとで
ABC 1,2
とすると
c1d2e
として処理される。
----------------------------------------
■コメント/注釈文
----------------------------------------
●コメント
/str
・str:文字列
'/'以後、改行までをコメントとして無視する。
コンパイル後のZMDにはその内容は反映されない。
例
/ ORGAN SOLO
----------------------------------------
●コメント
.COMMENT str
・str:文字列
改行までの文字列strをコメントとして無視する。
'/'とは、コンパイル後のZMDにその内容が出力される点が違う。
曲のタイトル、制作日時、データ制作者の名前等をZMSファイル先頭に記述する
のが一般的な用途。
*タイトル文字は
* 1行目は曲のタイトル。それ以降はコメント。
* また、曲名/作曲者/編曲者/データ作成者の様な一般的な情報を複数行にわたって
* 記述する場合は以下の文字列で表される情報タイトルの後に記載することと規定する。
* (情報タイトルの日本語は全角、英字は半角英数大文字のみ、また : は必須)
*曲名: TITLE:
*作曲者: COMPOSER:
*編曲者: ARRANGER:
*作成者: MANIPULATER:
*作成日: DATE: (原曲の作曲年月日はCOPYRIGHT:)
*録音場所 STUDIO:
*使用機器: INSTRUMENTS:
*ジャンル: CATEGORY:
*例)
*.comment {
*TITLE: I am a boy, therefore I have balls.
*作曲者:西川善司
*STUDIO:自宅
*ジャンル:童謡
*}
例
.comment STAGE 1 BGM VERSION 1.10 (c)1992/11 XVI
----------------------------------------
●文字列表示
.PRINT str
・str:文字列
改行までの文字列strを画面に出力する。
いかなる方法で演奏しても文字列を出力してしまうので、通常は用いない。
例
.PRINT HERE WE GO!
----------------------------------------
●ダミー命令
.DUMMY
なにも実行しないダミー命令。ただし、ZMDに1バイト分のダミーコードが
出力される。コンパイル後のZMDに手を加える時などに有効。通常は使用する
必要はない。
例
.DUMMY
----------------------------------------